首頁 > 資料庫 > mysql教程 > 在 MySQL 中使用 ALTER IGNORE TABLE ADD UNIQUE 時會保留哪一筆記錄?

在 MySQL 中使用 ALTER IGNORE TABLE ADD UNIQUE 時會保留哪一筆記錄?

Mary-Kate Olsen
發布: 2024-11-04 02:51:29
原創
814 人瀏覽過

Which record is preserved when using `ALTER IGNORE TABLE ADD UNIQUE` in MySQL?

MySQL:ALTER IGNORE TABLE ADD UNIQUE - 記錄截斷影響

具有IGNORE 子句的ALTER TABLE 語句用於添加唯一約束到表中,可能會刪除重複的記錄。然而,保留的具體記錄可能會引起疑問。

問題:

執行以下語句時:

ALTER IGNORE TABLE `my_table`
ADD UNIQUE (`type`, `owner`);
登入後複製

哪筆記錄如果存在多個具有相同類型和所有者值的重複記錄,是否會保留?

答案:

從MySQL 5.7.4 開始,IGNORE 子句不再存在

但是,在允許IGNORE 子句的早期MySQL 版本不再存在

    但是,在允許IGNORE 子句的早期MySQL 版本中:
  • 保留第一筆記錄:
  • 表中具有唯一組合鍵的第一
  • 行將被保留。 重複行被截斷:具有相同唯一組合鍵的所有其他行將被
  • 已刪除
.

根據MySQL文檔,「第一個」可能指的是具有最低主鍵值的記錄。在您的情況下,假設 ID 列是主鍵,則 ID 最小的記錄將被保留。

以上是在 MySQL 中使用 ALTER IGNORE TABLE ADD UNIQUE 時會保留哪一筆記錄?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板