0

假设:table_name = t1

c1 列的检查约束为 (Y, N, '')。

但是,当我在 c1 列中手动插入除上述有效值(如 A)之外的任何值时,数据库不会给出任何错误并成功提交。

我该如何避免这种情况?

4

2 回答 2

0

根据这里的 MySQL Docs :

CHECK 子句被解析,但被所有存储引擎忽略

另一种方法是创建BEFORE INSERT触发器。

于 2013-03-21T12:49:36.433 回答
0

假设“CHECK 子句已解析但被所有存储引擎忽略。”,我已将检查约束更改为仅接受 Y 和 N。我还需要更改代码,在其中声明并初始化与此列对应的变量。

感谢你的回复。

于 2013-03-28T16:04:18.940 回答