可能重複:
how to use if not exists while inserting a row mysqlMySQL中,插入行,如果不存在
我有問題:
我有一個名爲 「表」 與4列的表:ID(INT ,PK,AI,唯一),col1(varchar),col2(varchar),col3(datetime)
許多用戶可以連接到mysql服務器a nd將行插入「表」中。問題是col2和col3不能存在於「表」的其他行中。我想這樣寫: IF NOT EXISTS(select * from table where col2 ='2'and col3 ='2012-12-12 12:12:12')INSERT INTO table(col1,col2, col3)values(1,2,'2012-12-12 12:12:12')
我假設你知道我在做什麼。
我試圖在一個語句中做到這一點(以避免2個用戶同時插入同一行的情況)或交易中。如果我應該在交易中做到這一點,那麼它應該是什麼類型的隔離?可序列化的隔離會導致鎖表,因此它可能會減慢插入過程的速度。 請幫助我。
但它不是我說的。 –
http://stackoverflow.com/questions/1492761/performing-an-update-or-insert-depending-whether-a-row-exists-or-not-in-mysql還有其他幾個。我們最常發生的問題之一。如果不一樣,請說清楚。 – dkretz
col2和col3不能是唯一的。 col2或col3可以被複制。如果相同的2列存在於一行中,我不能複製col2和(!!!)col3! –