Re: [SQL ] 如何不要insert重複的?
※ 引述《zeqw (friend)》之銘言:
: 問題1:
: 如果有欄位 key,a,b,c
: 我在insert的時候只去insert a,b,c
: key為自動增加的PK
: 請問我要怎麼利用簡單的SQL語法做到當a,b,c重複時
: 會產生insert失敗的訊息或者不要去做insert呢
: 補充:
: 我key欄位是 INTEGER PRIMARY KEY AUTOINCREMENT,其他欄位就一般的INTEGER
: 然後是希望當insert時 如果a,b,c,都一樣的時候,已經insert過了,
: 就不要insert,或是讓它有錯誤也好
: 問題2:
: 或者有沒有辦法利用簡單的SQL語法
: 可以刪除掉整個table中,a,b,c重複的資料呢?
: 如果重複兩三次,把重複地從後面刪掉,留下一筆就好
Q1:
印象中 Mysql PRIMARY KEY 具備 UNIQUE KEY 特性
Q2:
假設表格名稱為 [mytable]
DELETE FROM mytable
WHERE key not in (
SELECT MIN(key)
FROM mytable
GROUP BY a, b, c
)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.24.91.59
討論串 (同標題文章)