【问题标题】:SQL syntax error when creating new table in MySQL在 MySQL 中创建新表时出现 SQL 语法错误
【发布时间】:2012-04-10 00:01:41
【问题描述】:

我不会创建 sql 表但我收到错误。

#1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在附近使用的正确语法 'CREATE TABLE `articles_ratings` ( `ID` INT(11) NOT NULL AUTO_INCREMENT, `a' 在第 10 行
CREATE TABLE `articles` (
   `ID` int( 11 ) NOT NULL AUTO_INCREMENT ,
   `a_title` varchar( 255 ) ,
   `a_subtitle` tinytext,
   `a_content` text,
   PRIMARY KEY ( `ID` )
) 

CREATE TABLE `articles_ratings` (
   `ID` INT( 11 ) NOT NULL AUTO_INCREMENT ,
   `article_id` int( 11 ) NOT NULL ,
   `rating_value` tinyint( 2 ) NOT NULL ,
   `rater_ip` varchar( 20 ) NOT NULL ,
)

【问题讨论】:

  • 看起来您在articles_ratings 的末尾有一个杂散的逗号,并且还忘记了; 来终止第一个CREATE TABLE 语句,这就是MySQL 在开头指出语法错误的原因第二个CREATE TABLE
  • @kazik1616 啊,是的,难以捉摸的考古徽章

标签: mysql


【解决方案1】:

在您的文章评分声明中添加主键或删除最后一个逗号。

CREATE TABLE articles ( 
    ID int( 11 ) NOT NULL AUTO_INCREMENT , 
    a_title varchar( 255 ) , 
    a_subtitle tinytext, 
    a_content text, 
  PRIMARY KEY ( ID ) 
);
CREATE TABLE articles_ratings ( 
    ID INT( 11 ) NOT NULL AUTO_INCREMENT , 
  article_id int( 11 ) NOT NULL , 
  rating_value tinyint( 2 ) NOT NULL , 
  rater_ip varchar( 20 ) NOT NULL , 
PRIMARY KEY ( ID ) 
);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-14
    • 1970-01-01
    • 2014-04-29
    • 2021-09-19
    • 2019-05-03
    • 1970-01-01
    • 2010-10-12
    相关资源
    最近更新 更多