如何在 mysql 数据库中创建 TINYINT(1) 数据类型? [关闭]
Posted
技术标签:
【中文标题】如何在 mysql 数据库中创建 TINYINT(1) 数据类型? [关闭]【英文标题】:How to create TINYINT(1) datatype in mysql database? [closed] 【发布时间】:2013-03-10 15:03:53 【问题描述】:我正在 mysql 数据库中创建表,但它给出了错误...
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
- 您的 SQL 语法有错误;检查手册 对应于您的 MySQL 服务器版本,以便使用正确的语法 'REPEAT TINYINT(1) NULL,ALL_DAY TINYINT(1) NULL,CLASS_DURATION 附近 INT NULL' 在第 6 行
如何解决这个问题..
【问题讨论】:
谢谢大家的快速回复.. 【参考方案1】:我相信 REPEAT 是 MySQL 中的一个关键字。尝试重命名您的列。
【讨论】:
【参考方案2】:REPEAT
是保留关键字。你仍然可以使用它,但你需要用反引号将它包装起来。
`REPEAT` TINYINT(1) NULL,
MySQL Reserved Keywords List
我建议你不要在后备名单上使用这样的关键词,以免以后脖子疼。
【讨论】:
【参考方案3】:首先你不应该使用 REPEAT,因为它是由 mysql 保留的,其次看一下MySql Error 150 - Foreign keys,因为你有另一个关于外键的错误。
【讨论】:
外键有什么问题? 啊抱歉,笨蛋,它应该可以正常工作。抱歉,回复太快了。以上是关于如何在 mysql 数据库中创建 TINYINT(1) 数据类型? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章