2016-12-01 149 views
0

我嘗試在我的查詢中使用重複密鑰更新上的,但它仍然重複某個值。重複密鑰更新不起作用

我的查詢是這樣的:

$insert=mysqli_query($conn,"insert into tbl_staffdistribution(db_user,db_name,db_responsible,db_date)values('$user','$name','$responsible','$formatteddatetimein') on duplicate key update db_user='$user',db_name='$name',db_responsible='$responsible',db_date='$formatteddatetimein'")or die(mysqli_error($conn)); 

我有在我的數據庫DB_ID是主鍵自動遞增。

問題是我在我的數據庫中有一個重複的值,這不應該發生如何解決這個問題?

+0

有您創建特定的列唯一鍵 –

+0

@AnkitAgrawal我只有DB_ID初級和經銷商的增量沒有別的 – m7md

+0

等哪一列基礎上你是獨一無二的區分已經data..you創建一個唯一的列,這樣就可以識別data –

回答

0

爲了做到這一點。你應該在你的桌子裏有一個​​,這樣你就可以像on duplicate key update那樣使用它。唯一的鑰匙可以是您的餐桌上的主要或其他字段。你可以在你的查詢中做這樣的事情:

ON DUPLICATE KEY UPDATE someID = VALUES(someID) 

MySQL的明確的解釋說明。

+0

謝謝我,我明白不是爲什麼它沒有工作 – m7md

+0

很高興幫助。 :) – Kulasangar