我有一個實體在3個fiels上有一個唯一的約束。ORM UniqueConstraint,空值重複
2個字段不可爲空,第三個字段可以爲空。
我的問題,當第三字段爲空,唯一性約束是不行的,所以我可以在我的數據庫中的一些重複值一樣(5,1,null)(5,1,null)
對我來說,(5,1,null)
是一個獨特的價值,與。空太
你有什麼想法
這是我的ORM線:
* @ORM\Table(name="table", uniqueConstraints={@ORM\UniqueConstraint(name="table_idx", columns={"field1", "field2", "field3"})})
編輯:可爲空的值是另一個實體的外鍵,所以我不能放置自定義值。它是一個實體或null。
不確定你的意思,但是引用文檔'一個UNIQUE索引允許可以包含NULL的列的多個NULL值:http://dev.mysql.com/doc/refman/5.0/en/create-index .html –
我不希望允許多個空值。對我來說,null是一個真正的價值。 –
這是因爲NULL是一個未知值,並且比較兩個未知值的結果也是未知的。也許你可以使用一個特殊的值而不是NULL? – Eelke