我試圖與選擇插入多行,這樣的事情:MySql的多發與插入選擇
INSERT INTO Check(
name, price,
count, order_id)
SELECT
p.name, p.price,
:count, :order
FROM Product p
WHERE p.id
IN(:id1, :id2, :id3)
的問題是,所有的:id1, :id2, ...
有自己:coun1, :count2, :count3
。我不知道如何解決這個問題?
我試圖與選擇插入多行,這樣的事情:MySql的多發與插入選擇
INSERT INTO Check(
name, price,
count, order_id)
SELECT
p.name, p.price,
:count, :order
FROM Product p
WHERE p.id
IN(:id1, :id2, :id3)
的問題是,所有的:id1, :id2, ...
有自己:coun1, :count2, :count3
。我不知道如何解決這個問題?
您正在尋找這樣的事情?:
INSERT INTO Check(
name, price,
count, order_id)
SELECT
p.name, p.price,
IF (id = :id1, :count1, IF (id = :id2, :count2, :count3)), :order
FROM Product p
WHERE p.id
IN(:id1, :id2, :id3)
另一種選擇是..創建一個單獨的表與這些變量ID和計數像
create table tab1(id int, count int);
insert into tab1(id,count) values(:id1, :coun1);
那麼你可以嘗試像
INSERT INTO `Check`(
name, price,
count, order_id)
SELECT
p.name, p.price, t.id, t.count
FROM Product p
JOIN tab1 t on p.id = t.id
:id是產品'id',:count是該產品的「計數」。我想製作一個籃子。但數據太大了。所以我想優化它,並插入一個查詢... – Urmat