1

我的sql查询有问题

我有 2 个表,其字段如下:

表格1

id, user_id, produk_id, booking_date, color, qty

表2

id, order_id, user_id, produk_id, date, color, qty, status

我尝试将数据从表 1 传输到表 2:

INSERT INTO TABLE2 (user_id, produk_id, color, qty)
SELECT user_id, produk_id, color, qty
FROM TABLE1 
WHERE user_id = '10002'

该代码有效,当我要插入到表 2 的数据与表 1 中的数据相同时,

问题是,我要插入的数据有一些不同,我需要手动插入..

用于现场

user_id, produk_id, color, qty  ==>is same with TABLEE1

但对于字段

order_id, date, status   ==> i need to input manually using PHP variable

如果数据已经传输到 TABLE2,我想从 TABLE1 中删除该行

我真的不知道要修改那个查询

有可能一次做到吗?有人可以帮忙吗,我应该做什么查询才能得到呢?

4

1 回答 1

2

您可以将所有列添加到插入中,也可以将 php 变量添加到选择中:

INSERT INTO TABLE2 (order_id,user_id, date, produk_id, color, qty,status)
SELECT orderIdPHPvar, user_id, datePHPvar, produk_id, color, qty, statusPHPvar
FROM TABLE1 
WHERE user_id = '10002'

有关如何执行此操作的演示,请参阅此sqlfiddle 。

至于删除,你不能在同一个语句中这样做。你将不得不为此做一个单独的声明。

DELETE FROM TABLE1 
WHERE user_id = '10002'
于 2013-11-09T03:19:21.110 回答