2011-06-21 43 views
0

我對MySQL或SQL一般沒有太多的經驗,我不想太深入研究它。但我只想問這樣的:MySQL中的Dependend約束條件

我有兩列,就像這樣:

CREATE TABLE foo(parent INT(11) unsigned NOT NULL, ordering INT); 

我只想要一個約束可以確保如果parent鍵是一樣的,ordering必須是不同的。或在數學中:

For all f1,f2 in foo: parent(f1) = parent(f2) => ordering(f1) =/= ordering(f2) 

我怎樣才能在MySQL中表達?

+2

如果你不想潛入它太深,一會要認爲你不在乎理解的答案在這裏提供。那麼,爲什麼我們要關心提供一個答案呢? –

+0

嗯,我同意。這只是我不喜歡直接觸摸SQL,這就是爲什麼我說我不想太深入。 – Lanbo

回答

0

我假定=/=的意思是「不等於」(SQL語言中的將爲!=<>)。

上(父,排序)唯一索引應該這樣做:

CREATE UNIQUE INDEX idx_order_unique ON foo (parent, ordering); 
+0

就這麼簡單?非常感謝! – Lanbo