我想将表单中的多条记录插入名为“user”的表中,并且从表单提交的“items”值在另一个表名“order”中不存在。“订单”表中只有 2 个字段,即 id 和 items。
这是我的代码:
INSERT INTO user (id, username, email, address, items)
SELECT '$username1', '$email1', '$address1', '$items1'
UNION ALL
SELECT '$username2', '$email2', '$address2', '$items2'
UNION ALL
SELECT '$username3', '$email3', '$address3', '$items3'
FROM DUAL
WHERE NOT EXISTS(SELECT item FROM order)
假设“项目”表包含 2 组数据:
id items
1 table01
2 chair01
所以当我插入数据时:
john, john@hotmail.com, 12, Street, nail01
jennifer, jennifer@yahoo.com, 13, Street, table01
peter, peter@live.com, 14, Street, spoon01
(defintely these data are keyin in the form)
假设第二条记录不会插入到“用户”表中,因为“项目”表中已经包含该项目。但现在结果是第 1 和第 2 数据将插入到“用户”表中,而第 3 数据则没有。我用其他代码尝试了很多次,但仍然没有成功。
谁能给我一个建议?谢谢。