SQL查询:
CREATE TABLE `comment_threads` (
`comment_id` INT( 11 ) UNSIGNED NOT NULL DEFAULT '0',
`updated` TIMESTAMP NOT NULL ,
`timestamp` TIMESTAMP NOT NULL ,
) ENGINE = MYISAM ;
Run Code Online (Sandbox Code Playgroud)
这是一个旧文件,我试图通过phpMyAdmin在HostGator上运行.我收到一条错误消息:
MySQL说:#1064 - 你的SQL语法有错误; 查看与您的MySQL服务器版本对应的手册,以便在第5行的')ENGINE = MyISAM'附近使用正确的语法
更新:如果我将语句更改为此,我仍然会收到错误:
CREATE TABLE comment_threads (
comment_id INT( 11 ) UNSIGNED NOT NULL DEFAULT '0',
updated TIMESTAMP( 14 ) NOT NULL ,
timestamp TIMESTAMP NOT NULL
PRIMARY KEY ( comment_id ) )
ENGINE = MYISAM ;
Run Code Online (Sandbox Code Playgroud)
我收到错误:
错误1064(42000):您的SQL语法有错误; 查看与您的MySQL服务器版本对应的手册,以便在'(14)NOT NULL附近使用正确的语法,时间戳TIMESTAMP NOT NULL PRIMARY KEY(comment_id))ENGI'在第3行
您的MySQL查询不正确.它纠正到这个工作.
CREATE TABLE `comment_threads` (
`comment_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
`updated` TIMESTAMP NOT NULL ,
`timestamp` TIMESTAMP NOT NULL
) ENGINE=MyISAM;
Run Code Online (Sandbox Code Playgroud)
要在phpMyAdmin中运行它,您可以使用内置表创建器或在SQL查询窗口中输入更正的SQL语句.
请注意,我删除了最后TIMESTAMP NOT NULL一行之后的逗号(紧接在结束之前)).
更新:您发布的第二个声明纠正了这个:
CREATE TABLE `comment_threads` (
`comment_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
`updated` TIMESTAMP NOT NULL ,
`timestamp` TIMESTAMP NOT NULL,
PRIMARY KEY(`comment_id`)
) ENGINE=MyISAM;
Run Code Online (Sandbox Code Playgroud)
以下是您在第二个CREATE TABLE声明中介绍的问题:
TIMESTAMP( 14 )应该是TIMESTAMP(根据文件)TIMESTAMP NOT NULL行.逗号现在是必要的,因为与第一个示例不同,您将语句的两部分分开:TIMESTAMP NOT NULL行和PRIMARY KEY声明.如果您想了解有关调试SQL语句的简单方法的更多信息,我强烈建议您查看我对此问题的答案(请参阅标题为" 如何有条不紊地修复此类错误的更多信息 " 一节).
确保当你更改一个CREATE TABLE语句或任何一段代码时,你以足够小的增量进行更改,你只能"一次最多打破一件事".在第二个CREATE TABLE语句的情况下,没有理由更改第一个TIMESTAMP声明,这样做会破坏代码.这条线正在运作; 无需改变它.
| 归档时间: |
|
| 查看次数: |
11249 次 |
| 最近记录: |