我在DB.i有4个字段,设置它们变得无法重复输入。它们是:
1. Model Varchar(14) Unique
2. Serial varchar(8) Unique
3. Lot varchar(5) Unique
4. Line char(5) Unique
Model Serial Lot Line
First data remocon x0001 033a fa 01
如果我输入了相同的数据则无法记录。
remocon x0001 033a fa 01
但如果输入如下,如何使此数据成功输入:
remocon x0002 033a fa 01
我希望结果如下:
Model Serial Lot Line
remocon x0001 033a fa 01
remocon x0002 033a fa 01
答案 0 :(得分:6)
您需要为所有字段添加唯一约束,而不是为每个字段添加唯一约束,即
UNIQUE(型号,系列,地段,线)
溶液:
CREATE TABLE YourTable
(
Model Varchar(14) NOT NULL,
Serial varchar(8) NOT NULL,
Lot varchar(5) NOT NULL,
Line char(5) NOT NULL,
unique (model, serial, lot, line)
)
现有表的:
alter table YourTableName drop index model;
alter table YourTableName drop index serial;
alter table YourTableName drop index lot;
alter table YourTableName drop index line;
alter table YourTableName add unique (model, serial, lot, line);
答案 1 :(得分:0)
如果为每个字段创建唯一约束,则每个字段都需要具有唯一数据。您需要创建一个包含所有无法重新创建的字段的UNIQUE。
UNIQUE(Model, Serial, Lot, Line)
但是如果你的所有字段都需要是唯一的,我认为你的表没有主键,你应该创建一个所有字段的PRIMARY KEY而不是UNIQUE。