【问题标题】:SQL Alter Table syntax errorSQL Alter Table 语法错误
【发布时间】:2013-07-15 16:38:36
【问题描述】:
--Rev19
ALTER TABLE `staff` MODIFY `role` enum('admin', 'employee', 'guest'); 
ALTER TABLE `staff` ALTER `role` SET DEFAULT 'guest';

上面写着:

#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 '--Rev19
ALTER TABLE `staff` MODIFY `role` enum('admin', 'employee', 'guest')' at line 1 

这里有什么问题? 顺便说一句,为什么 SQL 错误报告必须如此糟糕,大多数语言都会告诉你 SQL 刚刚所说的具体语法错误,请查看手册。

【问题讨论】:

  • 不好的不是“SQL 错误报告”,而是 MySQL 的错误报告“不好”。其他 DBMS 的语法错误消息更加清晰。

标签: php mysql phpmyadmin alter


【解决方案1】:

来自手册:

从“--”序列到行尾。在 MySQL 中,“--”(双破折号)注释样式要求第二个破折号后跟至少一个空格或控制字符(例如空格、制表符、换行符等)。

所以只需在 -- 之后添加一个空格就可以了。

【讨论】:

    【解决方案2】:

    使用双破折号 cmets 时,破折号后需要一个空格。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-24
      • 1970-01-01
      • 2019-10-15
      • 2011-02-24
      • 2011-06-18
      相关资源
      最近更新 更多