如何唯一标识两个或更多列,我在数据库中使用了名为地址的表,现在地址具有街道名称、套房名称和街道编号等字段。
strnum |斯特南 |姓氏
<小时/>1 | XYZ| 32
1 | XYZ| 32
现在我怎样才能唯一地这三列。也就是说我想检查这三列是否已经插入。如果任何字段值的更改超出其正常范围,它将插入新的值。但万一这三个字段都相似..帮我结合识别这三个字段。
最佳答案
您可以通过添加唯一
约束来做到这一点。
ALTER TABLE your_table ADD UNIQUE(strnum, strnam, sutname);
然后执行以下操作:
INSERT IGNORE INTO your_table (strnum, strnam, sutname) VALUES ('1', 'xyz', 'etc');
如果值已经存在 - 不会发生插入,也不会引发错误(这就是 IGNORE 部分)。
顺便问一下,为什么要使用如此短且模糊的列名?现在已经不是DOS时代了,你可以用你的列名来描述。
关于php - 帮助唯一地识别组合列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7106057/