我的表格包含pageid
,department
,position
和active
。在更新时,如果pageid
已存在,我必须更新有效列,否则我将使用pageid
插入新行。
我通过复选框获取了pageid值,我的更新查询就像这样
$sql = "INSERT INTO access_level (page_id, department, position, active)
VALUES (".$sn.", ".$department.", ".$position.", 1)
ON DUPLICATE KEY UPDATE
department=VALUES(".$department."),
position=VALUES(".$position."),
active=VALUES(1)";
但在这种情况下,所有内容都会被插入两次。
我做错了什么?有人可以指导我吗?
答案 0 :(得分:0)
这应该对你有用:
$sql = "INSERT INTO access_level (page_id, department, position, active)
VALUES (".$sn.", ".$department.", ".$position.", 1)
ON DUPLICATE KEY UPDATE
id=LAST_INSERT_ID(id),
active=VALUES(1)";