mysql - 从 mysql 4.0 导入 .sql 文件时出现 SQL 语法错误

标签 mysql sql

我正在尝试将使用 mysql 4.0 创建的 .sql 文件导入到最新版本的 mysql 中,但收到了有关以下代码的语法错误:

CREATE TABLE edgemap (
  senderid int(10) unsigned default NULL,
  recipientid int(10) unsigned default NULL,
  messageid int(10) unsigned default NULL,
  messagedt timestamp(14) NOT NULL,
  reciptype enum('bcc','cc','to') default NULL,
  subject varchar(255) default NULL,
  KEY senderid (senderid,recipientid),
  KEY messageid (messageid),
  KEY messagedt (messagedt),
  KEY senderid_2 (senderid),
  KEY recipientid (recipientid)
) ENGINE=MyISAM; 

我收到的错误消息是:

ERROR 1064 (42000) at line 255752: 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 '(14) NOT NULL,
  reciptype enum('bcc','cc','to') default NULL,
  subject varchar' at line 5

任何帮助将不胜感激!

最佳答案

时间戳的最大精度为 6(微秒):

http://dev.mysql.com/doc/refman/5.6/en/fractional-seconds.html

所以将其更改为

 messagedt timestamp NOT NULL,

 messagedt timestamp(6) NOT NULL,

http://sqlfiddle.com/#!9/221c13

关于mysql - 从 mysql 4.0 导入 .sql 文件时出现 SQL 语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30067495/

相关文章:

php - Symfony 中自动生成的 ID 值

mysql - 为什么我的 PREPAREed 语句为所有行提供相同的 sha1 值?

mysql - 查找值仅在数组中的 ID

python - 使用 Peewee 对连接表进行计数

MySQl - 查找重复的交叉关系表

python - Django 模型的 DateTimeField 正在采用 UTC,即使时区在亚洲/加尔各答无处不在

php - 警告 : mysql_fetch_row() expects parameter 1 to be resource

php - 使用 PHP 检查服务器上是否安装了 MySQL

mysql - 在 MySQL 中执行关系代数除法的 SQL 查询时出错

mysql - 使用 Sakila 的子查询问题