当试图通过mysql命令行(mysql -u用户-p < file.sql)将.SQL(MySQL)转储文件从一台服务器恢复到另一台服务器时,我得到下面错误中的一个表:MySQL恢复不接受列注释
syntax to use near 'COMMENT
的创建它正试图执行的命令是:
CREATE TABLE `cookie` (
`user_id` bigint(20) NOT NULL,
`cloba_id` int(11) NOT NULL,
`cookie_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
UNIQUE KEY `FBID` (`user_id`) COMMENT 'facebook ID'
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
通过phpMyAdmin的在创建转储文件服务器,它工作得很好。
我最终排除了列中的所有评论,然后我设法恢复了数据库。有没有一种方法可以使它与这些列注释一起工作?我首先想到这将是一个不同版本的问题,但我在文档中看了一下dev.mysql.com,COMMENT应该与我的服务器版本(5.1.73)兼容,正如您在语法手册中看到的那样:
data_type [NOT NULL | NULL] [DEFAULT default_value]
[AUTO_INCREMENT] [UNIQUE [KEY] | [PRIMARY] KEY]
[COMMENT 'string']
[COLUMN_FORMAT {FIXED|DYNAMIC|DEFAULT}]
[STORAGE {DISK|MEMORY|DEFAULT}]
[reference_definition]
任何想法?
索引注释被添加到mysql 5.5中。升级或删除评论。你的文档片段是用于字段而不是索引。 –