簡體   English   中英

子查詢在php中返回多於1行

[英]Subquery returns more than 1 row in php

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

該查詢將返回存儲在cart所有Copy_ID值,同時,下一個查詢也將返回一個集合。

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`

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM