【发布时间】:2018-03-03 20:37:55
【问题描述】:
使用 phpMyAdmin 将表从数据库复制到数据库时,Timestamp 行出现错误。
这是我的 SQL 语句:
CREATE TABLE `database`.`table` ( `id` int( 10 )
unsigned NOT NULL AUTO_INCREMENT ,
`Timestamp` timestamp( 6 ) NOT NULL DEFAULTCURRENT_TIMESTAMP( 6 )
ON UPDATE CURRENT_TIMESTAMP( 6 ) ,
`row3` tinyint( 1 ) DEFAULT NULL COMMENT 'Comment',
`row4` tinyint( 1 ) DEFAULT NULL COMMENT 'comment',
PRIMARY KEY ( `id` ) ,
KEY `keyname` ( `row4` ) ) ENGINE = MyISAM
DEFAULT CHARSET = latin1 COLLATE = latin1_german2_ci
这是错误信息:
#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 'DEFAULTCURRENT_TIMESTAMP( 6 ) ON UPDATE CURRENT_TIMESTAMP( 6 )
at line 2
我认为 DEFAULTCURRENT_TIMESTAMP 和 Timestamp (6) 有问题,但我不知道,是什么。
【问题讨论】:
-
是的,它错了。您不需要设置
timestamp类型的值。 `Timestamptimestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ` -
这是一个参考链接,为什么你不需要它。stackoverflow.com/q/168736/9267467。希望对您有所帮助。
-
我已将行更改为:
Timestamptimestamp(6) NOT NULL,错误消失了。谢谢! -
您能否澄清一下,您是否使用 phpMyAdmin 的“操作”选项卡来执行复制操作?您使用的是哪个 phpMyAdmin 版本?
-
@IsaacBennetch:是的,我在 2.11.11.3 版本中使用 phpMyAdmin 的“操作”选项卡
标签: mysql phpmyadmin timestamp sql-timestamp