这可能是一个愚蠢的问题,但老实说它让我难住了。
我有一个现有的表,我想用新项目更新它。但是,如果旧项目在其他地方发生了更改,那么我也希望它能够自动更新。
我已将 $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/