2014-03-30 68 views
1

我在SQLite中創建一個表,並且需要在輸入之前停止某些重複項。例如:在SQLite中停止重複記錄

這將是行

[產品] = 「產品A」 & [產品子] = 「子A」

[產品] = 「產品B」 & [產品子] = 「子A」

然而這不會是OK(並且不應當被保存):

[產品] = 「產品A」 & [產品子] = 「子A」

[產品] =「產品A」 & [產品子] =「亞健康」

這裏是我使用至今的代碼,但我不知道如何正確地編寫SQL實現我後:

CREATE TABLE IF NOT EXISTS [tblActivity_Sub] ([ActivityID_Sub] INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, [Product] NVARCHAR(50) NOT NULL [Product Sub] NVARCHAR(50) NOT NULL UNIQUE) 

任何幫助,這將不勝感激(我對此有點新)。

謝謝。

+0

你可以有唯一約束多個列:http://stackoverflow.com/a/2701903/188595 –

+0

這是完美的 - 謝謝你。由於我是這個網站的新手,我還需要做其他事情嗎(這可能有助於您的評分)? – AndyDB

+0

[Sqlite表約束 - 在多列上唯一]的可能的重複(http://stackoverflow.com/questions/2701877/sqlite-table-constraint-unique-on-multiple-columns) –

回答

0

在兩列中添加一個唯一約束。

CREATE TABLE IF NOT EXISTS [tblActivity_Sub] (
    [ActivityID_Sub] INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, 
    [Product] NVARCHAR(50) NOT NULL, 
    [Product Sub] NVARCHAR(50) NOT NULL, 

    UNIQUE ([Product], [Product Sub])); 
+0

謝謝 - 完美。 – AndyDB