亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

mysql PDO 更新查詢錯誤,鍵 'PRIMARY' 出現 1062 重復條目 '4146'

mysql PDO 更新查詢錯誤,鍵 'PRIMARY' 出現 1062 重復條目 '4146'

PHP
米琪卡哇伊 2021-07-02 14:58:49
我有一個 mysql 數據庫,查詢是用 PHP 構建的。該查詢是一個傳統的更新查詢,但是當它運行時,我收到一個錯誤,指出 1062 Duplicate entry '4146' for key 'PRIMARY'。這似乎違反直覺,因為我正在嘗試更新第 4146 行,我不確定它為什么會抱怨。我還有其他可以正常工作的 PDO 語句。我試過指定各種 PDO::PARAM,并且在谷歌上搜索了大約一個小時沒有找到一個好的答案。這是基本的 sql 語句,后跟錯誤:UPDATE tmp_event set    event_no=:event_no,    artist_no=:artist_no,    squality_no=:squality_no,     studio_album=:studio_album,     album=:album,     concert_display=:concert_display,     collection_display=:collection_display,     interview=:interview,     complete=:complete,     tradeable=:tradeable,     event_date=:event_date,     unqualified=:unqualified,     event_day=:event_day,     event_month=:event_month,     event_year=:event_year,     comments=:comments,     venue_no=:venue_no,     media_no=:media_noPDO 異常:PDOException:SQLSTATE[23000]:違反完整性約束:1062 /media/web/www/2.4/admin/submit.php:969 中的鍵 'PRIMARY' 的重復條目 '4146' 堆棧跟蹤:#0 /media/ web/www/2.4/admin/submit.php(969): PDOStatement->execute() #1 {main}我希望查詢執行更新沒有錯誤。感謝您的任何見解!
查看完整描述

1 回答

?
神不在的星期二

TA貢獻1963條經驗 獲得超6個贊

您的查詢沒有 WHERE 子句,因此它將嘗試更新表中的每一行。一旦它在第一行這樣做,它就會嘗試設置該event_no列并發現它有重復項。

在查詢中添加 WHERE 子句,不要嘗試設置 event_no

UPDATE tmp_event set artist_no=:artist_no, squality_no=:squality_no, studio_album=:studio_album, album=:album, concert_display=:concert_display, collection_display=:collection_display, interview=:interview, complete=:complete, tradeable=:tradeable, event_date=:event_date, unqualified=:unqualified, event_day=:event_day, event_month=:event_month, event_year=:event_year, comments=:comments, venue_no=:venue_no, media_no=:media_no WHERE event_no = :event_no



查看完整回答
反對 回復 2021-07-09
  • 1 回答
  • 0 關注
  • 235 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號