【问题标题】:Does SQL have a condition like 'IS UNIQUE'? [closed]SQL 是否有类似“IS UNIQUE”的条件? [关闭]
【发布时间】:2016-04-07 22:24:57
【问题描述】:

无论我在哪里寻找,我从未听说过任何 SQL 实现都会有 IS UNIQUE“命令”。我错过了什么?如果我是对的,原因是什么?

换句话说,为什么我不能在 SQL 中声明某个命令,例如 INSERT INTO尤其是)只有在一个值被认为是或不被认为是 UNIQUE 时才能执行?

【问题讨论】:

  • 您在表本身而不是 SQL INSERT 中使用列约束来执行此操作。检查您正在使用的特定 DBMS 的文档,以了解与 CREATE TABLE 中的列定义一起使用的正确语法。

标签: sql unique-constraint


【解决方案1】:

选择查询可以使用关键字“distinct”从表中选择唯一项

SELECT DISTINCT person_name FROM people WHERE age = 4;

对于插入,您还可以考虑使用 INSERT IGNORE 进行插入忽略

INSERT IGNORE INTO 人(价值观...)

【讨论】:

    【解决方案2】:

    查看 SQl 服务器中的唯一约束。它在插入表时处理唯一性。 或者,您可以在插入任何值之前使用“IF NOT EXISTS”来检查它是否存在于该列的表中,或者您可以通过在插入表之前在 where 子句中添加条件来实现相同的目的..

    【讨论】:

    • 没有迹象表明这张海报正在使用 SQL Server,这就是为什么我对问题本身的评论建议阅读他们正在使用的 DBMS 的文档。
    【解决方案3】:

    你的意思是 创建唯一索引 index_name ON 表名(列名)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-04-19
      • 1970-01-01
      • 2013-09-23
      • 2011-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多