
MySQL数据库导入问题,同样一段指令,有一台电脑能够顺利运行,另外一条就会报错,求解答。代码如下:
Query:CREATETABLE`act_evt_log`(`LOG_NR_`bigint(20)NOTNULLAUTO_INCREMENT,`TYPE_`varcha...
Query:
CREATE TABLE `act_evt_log` (
`LOG_NR_` bigint(20) NOT NULL AUTO_INCREMENT,
`TYPE_` varchar(64) COLLATE utf8_bin DEFAULT NULL,
`PROC_DEF_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL,
`PROC_INST_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL,
`EXECUTION_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL,
`TASK_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL,
`TIME_STAMP_` timestamp(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3),
`USER_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL,
`DATA_` longblob,
`LOCK_OWNER_` varchar(255) COLLATE utf8_bin DEFAULT NULL,
`LOCK_TIME_` timestamp(3) NULL DEFAULT NULL,
`IS_PROCESSED_` tinyint(4) DEFAULT '0',
PRIMARY KEY (`LOG_NR_`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin
Error occured at:2017-01-03 16:06:12
Line no.:33
Error Code: 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3),
`USE' at line 8 展开
CREATE TABLE `act_evt_log` (
`LOG_NR_` bigint(20) NOT NULL AUTO_INCREMENT,
`TYPE_` varchar(64) COLLATE utf8_bin DEFAULT NULL,
`PROC_DEF_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL,
`PROC_INST_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL,
`EXECUTION_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL,
`TASK_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL,
`TIME_STAMP_` timestamp(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3),
`USER_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL,
`DATA_` longblob,
`LOCK_OWNER_` varchar(255) COLLATE utf8_bin DEFAULT NULL,
`LOCK_TIME_` timestamp(3) NULL DEFAULT NULL,
`IS_PROCESSED_` tinyint(4) DEFAULT '0',
PRIMARY KEY (`LOG_NR_`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin
Error occured at:2017-01-03 16:06:12
Line no.:33
Error Code: 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3),
`USE' at line 8 展开
2个回答
展开全部
TIMESTAMP 不要指定长度
以下是正确的:
CREATE TABLE `act_evt_log` (
`LOG_NR_` BIGINT(20) NOT NULL AUTO_INCREMENT,
`TYPE_` VARCHAR(64) COLLATE utf8_bin DEFAULT NULL,
`PROC_DEF_ID_` VARCHAR(64) COLLATE utf8_bin DEFAULT NULL,
`PROC_INST_ID_` VARCHAR(64) COLLATE utf8_bin DEFAULT NULL,
`EXECUTION_ID_` VARCHAR(64) COLLATE utf8_bin DEFAULT NULL,
`TASK_ID_` VARCHAR(64) COLLATE utf8_bin DEFAULT NULL,
`TIME_STAMP_` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`USER_ID_` VARCHAR(255) COLLATE utf8_bin DEFAULT NULL,
`DATA_` LONGBLOB,
`LOCK_OWNER_` VARCHAR(255) COLLATE utf8_bin DEFAULT NULL,
`LOCK_TIME_` TIMESTAMP(3) NULL DEFAULT NULL,
`IS_PROCESSED_` TINYINT(4) DEFAULT '0',
PRIMARY KEY (`LOG_NR_`)
) ENGINE=INNODB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询