是否可以在MySQL中为VARCHAR列设置约束?
我不允许特定值超过一行。
______________
| MyTable |
--------------
| pk id INT |
| name VARCHAR |
如果我现在插入两行同名的“peter”,我想抛出一个错误。因此,约束应该只检查是否已经存储了“peter”。但其他值的多行必须工作。
INSERT INTO MyTable VALUES (1, "peter");
INSERT INTO MyTable VALUES (2, "peter"); // This should fail
INSERT INTO MyTable VALUES (3, "steven");
INSERT INTO MyTable VALUES (4, "steven"); // Shall succeed
在MySQL中是否可以通过某种方式检查指定的值?
最佳答案
不,这不可能使用约束。您可以在name
上添加unique constraint,但这将预先结束所有重复的条目,而不仅仅是“peter”。话虽如此,你得自己再做一次检查。
关于mysql - 是否可以在MySQL中为VARCHAR列设置约束?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10008255/