在postgres中,我們定義了一個約束條件,它基本上允許我們將具有某個值的表中的條目數限制爲1。我們創建了這個約束:使用MYSQL條件的唯一約束
在list_group(visitor_uid)上創建唯一索引列表$ default $ uk其中list_type ='default';
這意味着唯一約束只適用於list_type ='default',以便表中每個訪問者只能有一個'默認'列表。
它看起來像MySql不支持額外的唯一約束。是否有另一種方法可以在MySQL的數據庫模式中支持這一點?
是的 - 不完全。你有什麼問題是,每個list_group必須爲每個訪問者提供一個唯一的list_type。我們不希望這樣。我們試圖完成的是隻允許每個訪問者擁有一個list_type ='default'的列表組。對於其他list_types,如果有重複,則無關緊要。 – harmanjd 2009-06-12 15:59:20
ho,對。然後我不知道在MySQL中這樣做的方法,因爲存儲引擎不支持CHECK常量:http://forums.mysql.com/read.php?136,152474,240479#msg-240479。但是,就像codymanix說的那樣,如果在數據庫中強制執行這個規則,我寧願修改數據結構。 – 2009-06-12 16:46:15