另一个我确定的是一个非常基本的MySQL问题。
Create Table MyTable
(
zip char(5) CHECK (zip = '11111')
);
Insert into MyTable
Select '99999';
SELECT * From MyTable; --results in '99999'
我限制' zip'只有价值' 11111',但它让我放入' 99999'没问题。我错过了什么?
答案 0 :(得分:1)
https://dev.mysql.com/doc/refman/5.6/en/create-table.html说:
CHECK子句被解析但被所有存储引擎忽略。
也就是说,它接受没有错误或警告的语法,但不存储约束,也不会阻止您插入不满足检查的数据。
此功能自2004年以来一直被请求,但从未实现过:http://bugs.mysql.com/bug.php?id=3464