0
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 行

4

2 回答 2

0

因为当你在做

SELECT Copy_ID
FROM cart

查询返回所有Copy_ID存储的值,cart同时,下一个查询也返回一个集合。

MySQL 没有找到应该插入到orders表中的一对值。您将不得不找到一个查询,其中您将INSERT一些特定的值集放入表中。

于 2013-04-21T17:32:46.927 回答
0

试试这个:

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`
于 2013-04-21T17:34:26.963 回答