如何在mysql数据库中创建TINYINT(1)数据类型?
我在MySQL数据库中创建表,但它给错误...如何在mysql数据库中创建TINYINT(1)数据类型?
CREATE TABLE IF NOT EXISTS `EC_TIMETABLE` (
`S_ID` VARCHAR(30) NOT NULL PRIMARY KEY,
`SKILLSET_ID` VARCHAR(30) NULL ,
START_DT DATETIME NULL,
END_DT DATETIME NULL,
REPEAT TINYINT(1) NULL,
ALL_DAY TINYINT(1) NULL,
CLASS_DURATION INT NULL,
COURSE_DURATION INT NULL,
REPEAT_TYPE VARCHAR(30) NULL,
REPEAT_EVERY INT NULL,
REPEAT_DAYS VARCHAR(100) NULL,
REPEAT_FROM DATE NULL,
REPEAT_TO DATE NULL,
COURSE_FEE INT NULL,
ATTENDEE_MIN INT NULL,
ATTENDEE_MAX INT NULL,
SEARCH_KEY TINYTEXT NULL,
FOREIGN KEY (`SKILLSET_ID`)
REFERENCES `EC_SKILLSET` (`S_ID`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
但它给错误:
#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 'REPEAT TINYINT(1) NULL, ALL_DAY TINYINT(1) NULL, CLASS_DURATION INT NULL' at line 6
如何解决这一..
REPEAT
是保留关键字。你仍然可以使用它,但你需要用反引号来包装它。
`REPEAT` TINYINT(1) NULL,
我建议你不要使用候补名单上的这样的关键字,以避免将来出现颈部疼痛。
我相信REPEAT是MySQL中的关键字。尝试重命名您的专栏。
首先,您不应该使用REPEAT,因为这是由mysql保留的,其次请看MySql Error 150 - Foreign keys,因为您有关于外键的其他错误。
外键有什么问题? – 2013-03-21 07:43:04
啊对不起我愚蠢,它应该工作得很好。对不起,回复太快了。 – pauel 2013-03-21 07:44:39
谢谢所有快速响应.. – 2013-03-21 07:43:59