Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
假设:table_name = t1
c1 列的检查约束为 (Y, N, '')。
但是,当我在 c1 列中手动插入除上述有效值(如 A)之外的任何值时,数据库不会给出任何错误并成功提交。
我该如何避免这种情况?
根据这里的 MySQL Docs :
CHECK 子句被解析,但被所有存储引擎忽略。
另一种方法是创建BEFORE INSERT触发器。
BEFORE INSERT
假设“CHECK 子句已解析但被所有存储引擎忽略。”,我已将检查约束更改为仅接受 Y 和 N。我还需要更改代码,在其中声明并初始化与此列对应的变量。
感谢你的回复。