(我只是尝试学习重复的键语法)
我写了一个应该将值插入表中的查询,但是如果存在一个条目,他应该更新。
$reflinkUpdate = $dbh->prepare('INSERT INTO links (link_first_id, link_linked_id) VALUES (:sid, :tid) ON DUPLICATE KEY UPDATE link_first_id= :sid2, link_linked_id = :tid2');
$reflinkUpdate->bindParam(":sid", $_POST['solo'], PDO::PARAM_INT);
$reflinkUpdate->bindParam(":tid", $_POST['reflink'], PDO::PARAM_INT);
$reflinkUpdate->bindParam(":sid2", $_POST['solo'], PDO::PARAM_INT);
$reflinkUpdate->bindParam(":tid2", $_POST['sel'], PDO::PARAM_INT);
我的代码每次插入委托而不更新。我做错了什么?
答案 0 :(得分:2)
试试这样:
$reflinkUpdate = $dbh->prepare('
INSERT INTO links (link_first_id, link_linked_id)
VALUES (:sid, :tid)
ON DUPLICATE KEY
UPDATE
link_first_id = VALUES(link_first_id),
link_linked_id = VALUES(link_linked_id)
');
VALUES(field_name)
指的是尝试插入的值。