【问题标题】:Getting error in SQL Statements [duplicate]在 SQL 语句中出现错误 [重复]
【发布时间】:2016-09-04 13:18:24
【问题描述】:
CREATE TABLE Order (
`Type` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
 Order_Type INT NOT NULL,
 Order_Number VARCHAR(45) NOT NULL,
 Order_Date VARCHAR(45) NOT NULL
 );

为什么我会出错,我使用了正确的语法。

我遇到了三个错误:

  1. 应为实体名称(在 Order 附近)
  2. 语句的意外开头(“类型”附近)
  3. 无法识别的语句类型。 (近 INT)

【问题讨论】:

  • Order 是 SQL 关键字和 MySQL 保留字。我建议使用orders(我通常以复数形式命名表)。我投票结束诸如简单的印刷错误之类的问题。
  • 抱歉,我不知道 Order 是一个 SQL 关键字。无论如何,我目前正在学习 SQL!
  • 如果您正在学习 SQL,我还建议您学习更好的命名和键入约定。日期不应存储为字符串;它们应该存储为日期。名为“数字”的列不应存储为字符串(恕我直言);您应该将其称为其他名称,例如“代码”或实际使用数字。

标签: mysql sql mysql-error-1064


【解决方案1】:

是的,它是关键字,如果你仍然想要,最好不要使用它然后尝试这种方式,并且在每个操作中你必须将表名包含在拼写错误中:

CREATE TABLE `Order` (
`Type` INT NULL AUTO_INCREMENT PRIMARY KEY,
 Order_Type INT NOT NULL,
 Order_Number VARCHAR(45) NOT NULL,
 Order_Date VARCHAR(45) NOT NULL
 );

【讨论】:

  • 哦,我明白了,这就是为什么每当我输入 Order 时,它都会提示 Order 一词。谢谢您的帮助!我目前正在学习 SQL/数据库
猜你喜欢
  • 1970-01-01
  • 2013-07-03
  • 1970-01-01
  • 2014-04-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多