如何将重复条目停止到数据库中

时间:2013-03-21 06:56:49

标签: php mysql loops insert duplicates

您好我在尝试通过选择我已经排序和插入的复选框将信息数组插入数据库中的字段但我能够插入重复项,这是不好的我使用以下内容插入项目

    $list = $_POST['sub'];

    // for each loop to insert each value into the database with the selected users informtion
    foreach ($list as  $value)  {

        // The query to run
        $listQuery='INSERT INTO tbl_list (`userId`, `subId`) VALUES (\'' . $id . '\', \'' . $value . '\')';


        // Run the query
        $objects->query($listQuery);


    }

4 个答案:

答案 0 :(得分:2)

您应为(userIdsubId)添加唯一键:

ALTER TABLE tbl_list ADD UNIQUE(`userId`, `subId`)

然后,您应该使用INSERT IGNOREREPLACE INTO来避免插入过程中的错误。

答案 1 :(得分:0)

您可以在mysql查询

中使用Insert Ignore代替Insert

答案 2 :(得分:0)

要将重复的条目停止到数据库中,您可以执行此操作。请按步骤

进行操作
> 1.set a unique key on the table

after Complete create unique key you have to decide what you want to do when there's a duplicate

> 2. ignore it

> 3.Overwrite the previously entered record

> Update some counter

答案 3 :(得分:-1)

你需要做两件事 首先制作您的userId主键,然后尝试此查询
$ listQuery =' INSERT INTO tbl_list(userIdsubId)VALUES(\''。$ id。' \',\& #39;'。$ value。' \')重复密钥更新userId = LAST_INSERT_ID()';