2014-04-10 27 views
0

這可能是一個愚蠢的問題,但它真的讓我難住。我需要將新項目添加到我的SQL表中並更新舊項目

我有一個現有的表,我想更新新的項目。但是,如果舊項目在其他地方發生更改,那麼我也希望它自動更新。

我已經將$ eid設置爲唯一標識符,所以表格不會被複制。我用它來添加新的項目。

mysqli_query($con,"INSERT INTO `notification` (`nid` ,`eid` ,`subject` ,`active` ,`date`)VALUES (NULL , '$eid[$i]', '$subject[$i]', '$active[$i]', '$eventdate[$i]')"); 

我的第二個查詢,我試圖用當前更新的信息更新現有的表。

mysqli_query($con,"UPDATE `notification` SET `nid`=NULL,`eid`='$eid[$i]',`subject`='$subject[$i]',`active`='$active[$i]',`date`='$eventdate[$i]' WHERE `active` = 0"); 

但是,這第二個查詢似乎並沒有工作。

回答

1

關於MySQL拋出錯誤的更多細節?

但是,如果列nid是您的主鍵,它不能是NULL

如果你不想更新,只是跳過更新查詢:

mysqli_query($con,"UPDATE `notification` SET `eid`='$eid[$i]', 
`subject`='$subject[$i]',`active`='$active[$i]',`date`='$eventdate[$i]' 
WHERE `active` = 0"); 
+0

我想出的解決方案感謝您的幫助。 第二個查詢需要... mysqli_query($ con,「UPDATE'notification' SET'subject' ='$ subject [$ i]','active' ='$ active [$ i]', 'date' ='$ eventdate [$ i]'WHERE'eid' = $ eid [$ i]「); – user3515417

0

嘗試,

mysqli_query($con,"UPDATE notification SET nid= '',eid='".$eid[$i]."',subject='".$subject[$i]."',active='".$active[$i]."',date='".$eventdate[$i]."' WHERE active = '0'"); 
相關問題