INSERT INTO orders( Copy_ID, CustID )
VALUES (
(
SELECT Copy_ID
FROM cart
), (
SELECT c.Cust_ID
FROM customers AS c, accounts AS a, cart AS ca
WHERE c.Cust_ID = a.Cust_ID
AND a.Username = ca.Customer
)
)
このクエリを php で実行したいのですが、mysql が複数の行を返します
代わりにこれを試してください:
INSERT INTO `orders` (`Copy_ID`,`Cust_ID`)
SELECT `cart`.`CopyID`, `customers`.`CustID`
FROM `customers`
JOIN `accounts` USING (`Cust_ID`)
JOIN `cart` ON `accounts`.`Username`=`cart`.`Customer`
なぜなら、あなたがやっているとき
SELECT Copy_ID
FROM cart
クエリはCopy_ID
格納されているすべての値を返しcart
、同時に次のクエリもセットを返します。
orders
MySQL は、テーブルに挿入する必要がある値のペアを見つけられませんでした。INSERT
特定の値のセットをテーブルに入れるクエリを見つける必要があります。