mysql - 如何设置 MySQL 唯一行?

标签 mysql sql

我想在 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;

关于mysql - 如何设置 MySQL 唯一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68442339/

相关文章:

php - CakePHP mysql 选择月份中的某一天

php - 如何在 SQL 中显示表的名称

sql - 如何选择多行在两列中分别具有相同的值?

sql - 在 postgres 中访问和修改多维数组

php - 如何获得无计数的日子

mysql - 按日期对时间戳字段进行分组

php - MySQL PHP 锁表,在期望并发连接时有没有更好的解决方案

mysql - 使用 MySQL,查找每个时间段的平均值(数据)的最有效方法是什么

sql - 如何在 Amazon Redshift 中组合行

php - 我如何向新注册用户发送确认电子邮件?