创建了一个表:
CREATE TABLE my_table (
id VARCHAR2(20 BYTE) NOT NULL,
name VARCHAR2(40 BYTE) NOT NULL,
phone NUMBER,
PRIMARY KEY (id, name),
unique (id,phone)
);
这个想法是不可能在idand字段中创建具有相同值对的字符串phone。
但是,电话字段可以包含null. 那些。我想允许在字段id和phoneif中创建相同的值对phone = null。禁止所有其他人。
我怎样才能做到这一点?
您可以根据函数放置索引:
索引检查
id,phone所有记录的视图字符串的唯一性phone。id因此,对于空的条目将允许重复phone。它应该
id不包含逗号,如果不包含,您将需要选择另一个分隔符。SQL Fiddle 示例:http ://sqlfiddle.com/#!4/fd2172/1