尝试使用 sql 创建表但出现错误“需要符号名称!保留关键字不能用作没有反引号的列名”。
Create TABLE Tour (
Tour_ID int AUTO_INCREMENT,
Tour_Title VARCHAR(15) Not NULL,
Cost decimal(4,2) DEFAULT '2000.00',
CONSTRAINT tour_pk PRIMARY KEY (Tour_ID),
CONSTRAINT Ck_cost CHECK Cost BETWEEN 1500 and 2500
);
错误在 CHECK 语句上,所以我不知道为什么显示保留关键字错误。到处看,希望不要问一个愚蠢的问题。
最佳答案
MySQL 不实现check
约束,因此没有包含它们的实用程序。但是,它应该正确解析它们。
我认为你缺少括号:
Create TABLE Tour (
Tour_ID int AUTO_INCREMENT,
Tour_Title VARCHAR(15) Not NULL,
Cost decimal(4,2) DEFAULT '2000.00',
CONSTRAINT tour_pk PRIMARY KEY (Tour_ID),
CONSTRAINT Ck_cost CHECK (Cost BETWEEN 1500 and 2500)
);
我要强调的是,如果你真的想实现检查,你需要在你的应用程序中或使用触发器来实现。
关于mysql - SQL-创建带有检查约束的表时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49597343/