Mysql表定义错误

时间:2013-12-01 18:49:26

标签: mysql

我仍然在重复列周围收到错误。

#1064 - 您的SQL语法出错;查看与您的MySQL服务器版本对应的手册,以便在'repeat TINYINT(1)NOT NULL DEFAULT 0附近使用正确的语法,popis TEXT DEFAULT NULL,在第4行开始DATE'

CREATE TABLE akce (
  id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
  nazev VARCHAR(255) NOT NULL,
  repeat TINYINT(1) NOT NULL DEFAULT 0,
  popis TEXT DEFAULT NULL,
  start DATE NOT NULL,
  end DATE NOT NULL
)ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_czech_ci;

2 个答案:

答案 0 :(得分:2)

REPEAT是MySQL保留字。用`标记围绕它以逃避它,或重命名列。

答案 1 :(得分:0)

repeatstartend是保留字。始终使用引号(`)来包围它们,以使它们被接受。

虽然在宣布的保留字表中没有提到某些词,但避免使用保留字作为数据标识符会更好。

请参阅 MySQL Reserved Words