我正在从php
文件运行查询,该文件从用户那里获取输入
每次用户购买产品时,我都想插入一个新行
我的查询是什么样的:
INSERT INTO purchases (name, price)
SELECT product.name, product.price
WHERE product.name
IN (.........)
(并且,代替点,使用 php implode ,它可能是
('scarf', 'jeans', 'T-shirt', 'scarf')
<小时/> 现在,如果它做了我想做的事情,这将是伟大的:
IN
条件只匹配一次(显然,它是IN
语句......)但我想把它匹配两次。也就是说,如果顾客购买了两条围巾,那么我想要purchases
中的两个新行。
答案 0 :(得分:1)
如果他们买10000袜子怎么办?然后我会做10000次查询......
使用您当前的方法,在这种情况下,您一定需要执行10k查询。或10k联盟,几乎相当于:
insert into ...
select ... where product_name = ...
union all
select ... where product_name = ...
union all
...
出于这个原因,根据我的评论,我强烈建议您重新访问您的架构并添加一个显然非常需要的quantity
字段。