如果已经存在,将不会插入的PHP MySQL插入查询

Tec*_*alo 1 php mysql sql unique sql-insert

不幸的是,我一直在做一些研究,没有发现我能做的任何事情,我认为这是由于我一直在研究的示例中对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 ++;
}
Run Code Online (Sandbox Code Playgroud)

我需要检查的三列是$ user,$ group和$ ag。

Bar*_*mar 5

为添加唯一索引(user, label, empid)。然后,数据库将不允许您创建重复项。

ALTER TABLE pms_users
ADD UNIQUE INDEX (user, label, empid);
Run Code Online (Sandbox Code Playgroud)