真的很想得到一些帮助。我已经搜索了其他几个问题,但在我的CREATE语句中找不到任何错误

时间:2018-03-26 23:26:21

标签: mysql-5.7

CREATE TABLE crime1(
  ID INT NOT NULL AUTO_INCREMENT,
  Case VARCHAR(30) NOT NULL,
  Dated timestamp NOT NULL,
  Block VARRCHAR(30) NOT NULL DEFAULT 0,
  Iucr VARCHAR(10),
  Prime CHAR(30) NOT NULL,
  Description VARCHAR(50) NOT NULL,
  Location VARCHAR(50) NOT NULL,
  Beat INT NOT NULL DEFAULT 0,
  District INT NOT NULL DEFAULT 0,
  District INT,
  Last_Updated timestamp,
  Year timestamp default now(),
  PRIMARY KEY (ID)
);
  

错误1064(42000):您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以便在'Case VARCHAR(30)NOT NULL附近使用正确的语法,   日期时间戳NOT NULL,   在第3行阻止VARRCHAR(30)NOT NULL'

2 个答案:

答案 0 :(得分:2)

CASE是reserved word,您需要引用它:



`Case`




虽然您可以将其作为变通方法引用,但您应该避免将保留字用作列和/或表名。

也是这个

Block VARRCHAR(30) NOT NULL DEFAULT 0,

应该是:

Block VARCHAR(30) NOT NULL DEFAULT 0,

请注意,BLOCK也是一个保留字,因此您可能也需要引用它。

答案 1 :(得分:0)

将Case重命名为其他内容,只要它在SQL

中保留即可