springbatch报主键冲突的错误

java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '0' for key 'PRIMARY'

原因是未对数据进行初始化


INSERT INTO BATCH_STEP_EXECUTION_SEQ (ID, UNIQUE_KEY) SELECT
	*
FROM
	(
		SELECT
			0 AS ID,
			'0' AS UNIQUE_KEY
	) AS tmp
WHERE
	NOT EXISTS (
		SELECT
			*
		FROM
			BATCH_STEP_EXECUTION_SEQ
	);

INSERT INTO BATCH_JOB_EXECUTION_SEQ (ID, UNIQUE_KEY) SELECT
	*
FROM
	(
		SELECT
			0 AS ID,
			'0' AS UNIQUE_KEY
	) AS tmp
WHERE
	NOT EXISTS (
		SELECT
			*
		FROM
			BATCH_JOB_EXECUTION_SEQ
	);

INSERT INTO BATCH_JOB_SEQ (ID, UNIQUE_KEY) SELECT
	*
FROM
	(
		SELECT
			0 AS ID,
			'0' AS UNIQUE_KEY
	) AS tmp
WHERE
	NOT EXISTS (SELECT * FROM BATCH_JOB_SEQ);

建表语句

CREATE TABLE `batch_job_execution` (
	`JOB_EXECUTION_ID` BIGINT (20) NOT NULL,
	`VERSION` BIGINT (20) DEFAULT NULL,
	`JOB_INSTANCE_ID` BIGINT (20) NOT NULL,
	`CREATE_TIME` datetime NOT NULL,
	`START_TIME` datetime DEFAULT NULL,
	`END_TIME` datetime DEFAULT NULL,
	`STATUS` VARCHAR (10) DEFAULT NULL,
	`EXIT_CODE` VARCHAR (2500) DEFAULT NULL,
	`EXIT_MESSAGE` VARCHAR (2500) DEFAULT NULL,
	`LAST_UPDATED` datetime DEFAULT NULL,
	`JOB_CONFIGURATION_LOCATION` VARCHAR (2500) DEFAULT NULL,
	PRIMARY KEY (`JOB_EXECUTION_ID`),
	KEY `JOB_INST_EXEC_FK` (`JOB_INSTANCE_ID`),
	CONSTRAINT `JOB_INST_EXEC_FK` FOREIGN KEY (`JOB_INSTANCE_ID`) REFERENCES `batch_job_instance` (`JOB_INSTANCE_ID`)
) ENGINE = INNODB DEFAULT CHARSET = utf8;

CREATE TABLE `batch_job_execution_context` (
	`JOB_EXECUTION_ID` BIGINT (20) NOT NULL,
	`SHORT_CONTEXT` VARCHAR (2500) NOT NULL,
	`SERIALIZED_CONTEXT` text,
	PRIMARY KEY (`JOB_EXECUTION_ID`),
	CONSTRAINT `JOB_EXEC_CTX_FK` FOREIGN KEY (`JOB_EXECUTION_ID`) REFERENCES `batch_job_execution` (`JOB_EXECUTION_ID`)
) ENGINE = INNODB DEFAULT CHARSET = utf8;

CREATE TABLE `batch_job_execution_params` (
	`JOB_EXECUTION_ID` BIGINT (20) NOT NULL,
	`TYPE_CD` VARCHAR (6) NOT NULL,
	`KEY_NAME` VARCHAR (100) NOT NULL,
	`STRING_VAL` VARCHAR (250) DEFAULT NULL,
	`DATE_VAL` datetime DEFAULT NULL,
	`LONG_VAL` BIGINT (20) DEFAULT NULL,
	`DOUBLE_VAL` DOUBLE DEFAULT NULL,
	`IDENTIFYING` CHAR (1) NOT NULL,
	KEY `JOB_EXEC_PARAMS_FK` (`JOB_EXECUTION_ID`),
	CONSTRAINT `JOB_EXEC_PARAMS_FK` FOREIGN KEY (`JOB_EXECUTION_ID`) REFERENCES `batch_job_execution` (`JOB_EXECUTION_ID`)
) ENGINE = INNODB DEFAULT CHARSET = utf8;

CREATE TABLE `batch_job_execution_seq` (
	`ID` BIGINT (20) NOT NULL,
	`UNIQUE_KEY` CHAR (1) NOT NULL,
	UNIQUE KEY `UNIQUE_KEY_UN` (`UNIQUE_KEY`)
) ENGINE = INNODB DEFAULT CHARSET = utf8;

CREATE TABLE `batch_job_instance` (
	`JOB_INSTANCE_ID` BIGINT (20) NOT NULL,
	`VERSION` BIGINT (20) DEFAULT NULL,
	`JOB_NAME` VARCHAR (100) NOT NULL,
	`JOB_KEY` VARCHAR (32) NOT NULL,
	PRIMARY KEY (`JOB_INSTANCE_ID`),
	UNIQUE KEY `JOB_INST_UN` (`JOB_NAME`, `JOB_KEY`)
) ENGINE = INNODB DEFAULT CHARSET = utf8;

CREATE TABLE `batch_job_seq` (
	`ID` BIGINT (20) NOT NULL,
	`UNIQUE_KEY` CHAR (1) NOT NULL,
	UNIQUE KEY `UNIQUE_KEY_UN` (`UNIQUE_KEY`)
) ENGINE = INNODB DEFAULT CHARSET = utf8;

CREATE TABLE `batch_step_execution` (
	`STEP_EXECUTION_ID` BIGINT (20) NOT NULL,
	`VERSION` BIGINT (20) NOT NULL,
	`STEP_NAME` VARCHAR (100) NOT NULL,
	`JOB_EXECUTION_ID` BIGINT (20) NOT NULL,
	`START_TIME` datetime NOT NULL,
	`END_TIME` datetime DEFAULT NULL,
	`STATUS` VARCHAR (10) DEFAULT NULL,
	`COMMIT_COUNT` BIGINT (20) DEFAULT NULL,
	`READ_COUNT` BIGINT (20) DEFAULT NULL,
	`FILTER_COUNT` BIGINT (20) DEFAULT NULL,
	`WRITE_COUNT` BIGINT (20) DEFAULT NULL,
	`READ_SKIP_COUNT` BIGINT (20) DEFAULT NULL,
	`WRITE_SKIP_COUNT` BIGINT (20) DEFAULT NULL,
	`PROCESS_SKIP_COUNT` BIGINT (20) DEFAULT NULL,
	`ROLLBACK_COUNT` BIGINT (20) DEFAULT NULL,
	`EXIT_CODE` VARCHAR (2500) DEFAULT NULL,
	`EXIT_MESSAGE` VARCHAR (2500) DEFAULT NULL,
	`LAST_UPDATED` datetime DEFAULT NULL,
	PRIMARY KEY (`STEP_EXECUTION_ID`),
	KEY `JOB_EXEC_STEP_FK` (`JOB_EXECUTION_ID`),
	CONSTRAINT `JOB_EXEC_STEP_FK` FOREIGN KEY (`JOB_EXECUTION_ID`) REFERENCES `batch_job_execution` (`JOB_EXECUTION_ID`)
) ENGINE = INNODB DEFAULT CHARSET = utf8;

CREATE TABLE `batch_step_execution_context` (
	`STEP_EXECUTION_ID` BIGINT (20) NOT NULL,
	`SHORT_CONTEXT` VARCHAR (2500) NOT NULL,
	`SERIALIZED_CONTEXT` text,
	PRIMARY KEY (`STEP_EXECUTION_ID`),
	CONSTRAINT `STEP_EXEC_CTX_FK` FOREIGN KEY (`STEP_EXECUTION_ID`) REFERENCES `batch_step_execution` (`STEP_EXECUTION_ID`)
) ENGINE = INNODB DEFAULT CHARSET = utf8;

CREATE TABLE `batch_step_execution_seq` (
	`ID` BIGINT (20) NOT NULL,
	`UNIQUE_KEY` CHAR (1) NOT NULL,
	UNIQUE KEY `UNIQUE_KEY_UN` (`UNIQUE_KEY`)
) ENGINE = INNODB DEFAULT CHARSET = utf8;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值