php - 如果已经存在则不会插入的PHP MySQL插入查询
问题描述
不幸的是,我一直在做一些研究,但没有发现任何我能够完成的工作,我认为这源于我不理解我一直在查看的示例中的 MySQL 构造。
我要做的是运行插入查询,并检查 3 个特定列中的值以确保它们不存在,然后插入,否则什么也不做。
我的表非常基本:id(int11)、user(varchar(45))、label(varchar(255))、agent(varchar(255))、empid(varchar(10))。
我的 id 是我的主要,具有自动增量,这是我目前拥有的代码,可用于插入,但没有对重复项进行处理:
$i = 0;
foreach ($agents as $ag){
$sql = mysql_query("INSERT INTO `pms_users`
(`id`,`user`,`label`,`agent`,`empid`)
VALUES
(NULL, '$user','$group','$labels[$i]','$ag')");
$i ++;
}
我需要检查的三列是 $user、$group 和 $ag。
解决方案
为 .添加唯一索引(user, label, empid)
。然后数据库将不允许您创建重复项。
ALTER TABLE pms_users
ADD UNIQUE INDEX (user, label, empid);
推荐阅读
- c# - 如何在asp.net后面的代码中的html按钮中获取隐藏字段值
- javascript - 无法将数据从视图发布到 Yii2 中的控制器
- postgresql - postgres 数据库中的这种编码是什么,我该如何解码
- android - Kotlin 数据绑定问题类型不匹配
- python - 如何修复 Pandas 中的 ValueError
- flutter - 颤振医生未处理的异常
- javascript - ipcMain 侦听器未正确注册
- jquery - 当按钮位于子行中时,响应式数据表按钮不起作用
- markdown - 在 Markdown 中稳健地生成锚点
- shell - 将 shell 脚本的输出组织到文本文件中的表中