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 返回超过 1 行
因为当你在做
SELECT Copy_ID
FROM cart
查询返回所有Copy_ID
存储的值,cart
同时,下一个查询也返回一个集合。
MySQL 没有找到应该插入到orders
表中的一对值。您将不得不找到一个查询,其中您将INSERT
一些特定的值集放入表中。
试试这个:
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`