mysql - 如何设置 MySQL 唯一行?
问题描述
我想在 MySQL 数据库中运行这个 SQL。
INSERT INTO
colors (red, blue)
VALUES
('value1', 'value2');
但我希望它只在value1 !== value2
. 有什么办法吗?感谢您的关注。
解决方案
您可以使用check
约束来返回错误:
ALTER TABLE colors ADD CONSTRAINT (red <> blue);
或者,对于这个特定的插入,您可以使用INSERT . . . SELECT
:
INSERT INTO colors (red, blue)
SELECT red, blue
FROM (SELECT 'value1' as red, 'value2' as blue) v
WHERE red <> blue;
推荐阅读
- ajax - 在laravel中单击按钮时如何增加DB中的计数值?
- python - 编辑不在 for 循环中工作的数组
- c - 如何处理返回值 inf
- python - 如何在 Tensorflow 中恢复两个图?
- c# - 为什么我必须在 lambda 表达式中使用 out/ref 显式定义所有类型?
- go - golang 中的问题 yacc:语法错误:意外 $end
- javascript - 网站href链接不起作用,如何解决?
- javascript - 如何在实时应用程序中存储大量数据
- docker - 在我的应用程序上部署 Openshift pod 时,通过查看日志得到此错误“权限被拒绝”
- java - 将 HH:MM:SS (AM/PM) 的字符串时间格式转换为秒