这可能是一个愚蠢的问题,但老实说,这让我感到困惑。

我有一个现有表,想用新项目进行更新。但是,如果旧项目在其他地方更改了,那么我也希望它也能自动更新。

我将$ 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");


但是,第二个查询似乎不起作用。

最佳答案

有关MySQL引发的错误的更多详细信息?

但是,如果列nid是您的主键,则不能为NULL

如果您不想更新它,只需在更新查询中跳过它:

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

关于mysql - 我需要将新项目添加到我的SQL表中并更新旧项目,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22980408/

10-15 10:54