我想在数据库表中添加一行,但如果存在具有相同唯一键的行,我想更新该行.
例如,
insert into table (id, name, age) values(1, "A", 19)
Run Code Online (Sandbox Code Playgroud)
假设唯一的密钥是id,在我的数据库中有一行id = 1.在这种情况下,我想用这些值更新该行.通常这会产生错误.如果我使用insert IGNORE它将忽略错误,但它仍然不会更新.
我正在尝试使用以下代码段在插入重复项时更新数据库。但不是更新它仍然插入重复的行。为什么?
$import = "INSERT INTO data(Product,Courier,Received_Date,Acc_No,Received_By,Delivered_Date,Month,Year,Bill_Run,Dispatch_Type,Status,Bounce_Code) values('$data[0]','$data[1]','$Received_Date','$data[3]','$data[4]','$Delivered_Date','$data[6]','$data[7]','$data[8]','$data[9]','$data[10]','$data[11]') ON DUPLICATE KEY UPDATE Acc_No = '$data[3]'
Run Code Online (Sandbox Code Playgroud)