大家好你们好。我的表有 3 列,每一列都不是唯一的。我希望这些列保持非唯一,但通常不可能向表中添加与另一行完全匹配的行。
例如,如果已经有一个条目:
id username dob
1 John 01-01-1991
然后当你进入
insert into some_table (id, username, dob) values(1, 'John', '01-01-1991')
没有创建新记录,但理想情况下它给出了一个错误,然后可以在后端处理
但是,如果在相同条件下,值的参数中至少有一个值发生了变化,则输入
按 id 过滤不合适,因为 id 指的是另一个表,怎么办?
例如,您可以将主键设为复合键。如果我们同时有多个列必须唯一标识表中的一行,则可能需要这样的键。例如:
在这里,字段
order_id和product_id一起充当复合主键。也就是说,表中不能有两行order_items这两个字段同时具有相同的值。