在MYSQL数据库中创建名为temp的表。(使用WAMP服务器应用程序)
create table `temp`
(
number int(255) not null check(number > 0)
)
engine=innodb;
在临时表中插入负值
INSERT INTO `temp` VALUES (-1);
答案 0 :(得分:2)
CHECK 子句被解析但被所有存储引擎忽略。 你最好使用UNSIGNED,它不允许插入任何符号,即只允许正数。
create table `temp`
(
number int(255) unsigned not null
)
engine=innodb;
答案 1 :(得分:1)
MySQL不支持检查约束。
它只允许在表创建中用于可移植性支持,但实际上它们会被忽略。
答案 2 :(得分:1)
对于非负面的特殊情况,您可以使用unsigned int类型:
field INT(10) unsigned not null default '0'