如何设置两列的组合是唯一的?

时间:2010-10-26 17:54:48

标签: sqlite database-design

我对数据库建模有疑问,我创建了一个表如下:

CREATE TABLE "users_articles" 
  ("id"         INTEGER  PRIMARY KEY  NOT NULL,
   "article_id" INTEGER,
   "user_id"    INTEGER)
  1. 哪个语句会改变此表,以便article_id和user_id的组合是唯一的?
  2. 哪条声明告诉我,如果数据库已被更改?
  3. 谢谢,

    马库斯

1 个答案:

答案 0 :(得分:1)

  1. 您需要创建唯一索引:

    CREATE UNIQUE INDEX unique_users_articles ON users_articles (article_id, user_id)

  2. 请说明您需要它的原因?
    更新: 使用IF NOT EXISTS忽略索引创建(如果已存在):

    CREATE UNIQUE INDEX IF NOT EXISTS unique_users_articles ON users_articles (article_id, user_id)