加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

php – ON DUPLICATE KEY UPDATE值;两次插入相同的值

发布时间:2020-05-25 08:56:36 所属栏目:PHP 来源:互联网
导读:我试图插入一些值,如果有一个DUPLICATE KEY UPDATE表人.我正在获取值的插入,但它重复值而不是进行更新.输入字段是动态的,可以添加或删除值.但我试图没有重复的价值观.如何插入新值,如果有重复键,然后更新字段? Html /(不包括jquery函数生成更多输入字段) ul

我试图插入一些值,如果有一个DUPLICATE KEY UPDATE表人.我正在获取值的插入,但它重复值而不是进行更新.输入字段是动态的,可以添加或删除值.但我试图没有重复的价值观.如何插入新值,如果有重复键,然后更新字段?

Html /(不包括jquery函数生成更多输入字段)

<ul id="pq_entry_1" class="clonedSection">
        <li>
            <input id="person_fname_1" name="person_fname_1" placeholder="Person #1 - First Name" type="text" />
        </li>
        <li>
            <input id="person_lname_1" name="person_lname_1" placeholder="Last Name" type="text" />
        </li>
</ul>
<input type='button' id='btnAdd' value='add another Person' />
<input type='button' id='btnDel' value='delete Delete' />

PHP / Mysql查询

//Insert or Update Values 
        $f = 1;
        while(isset($_POST['person_fname_' . $f]))
        {

            $person_fname = $_POST['person_fname_' . $f];
            $person_lname = $_POST['person_lname_' . $f];


$query_init3 = "INSERT INTO person (academy_id,first_name,last_name) VALUES (:id,:person_fname,:person_lname) 
        ON DUPLICATE KEY UPDATE academy_id=:id,first_name=:person_fname,last_name=:person_lname";
        $query_prep3 = $db_con->prepare($query_init3);
            $query_prep3->execute(array(
                "id" => $id,"person_fname" => $person_fname,"person_lname" => $person_lname
            ));

            $f++;
        }

查询后的表:

所有类型的重复检查SQL

>替换
> INSERT .. ON DUPLICATE
> INSERT IGNORE

表具有主键或UNIQUE索引时有效.我认为没有独特的指数. (也许person_id是AUTO_INCREMENT的PK)

那么,你可以发布你的人的创建声明吗?如果person没有UNIQUE(person_fname,person_lname),你应该使用以下sql添加它:

ALTER TABLE person ADD UNIQUE (person_fname,person_lname);

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读