php - 帮助唯一地识别组合列

标签 php mysql

如何唯一标识两个或更多列,我在数据库中使用了名为地址的表,现在地址具有街道名称、套房名称和街道编号等字段。

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/

相关文章:

php - YII:Renderpartial 不生成 javascript?

php - 创建一个函数来替换从 XML 文件获取的字符串

php - 使用 WHERE 子句将 PHP 数组插入 MySQL

SQL GROUP BY/COUNT 即使没有结果

php - Laravel 查询生成器使用 MySQL 中的变量进行复杂选择?

mysql - 如何匹配逗号分隔列表中的前缀?

php - 如何在 YAML 中使用 API 平台过滤器?

php - 您如何访问枚举案例的属性?

php - 有没有办法改变 cURL SSL session ID 过时的速率?

php - 如何修复我的代码以使用 php、mysql 在数组中保存 3 个值来进行调查?