作者Luphia (雨路)
看板Database
标题Re: [SQL ] 如何不要insert重复的?
时间Wed Feb 16 22:09:46 2011
※ 引述《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