我有一个名为“客户”表的数据库,其中包含客户的电话号码。它肯定不止一排。

另一方面,我还有一个名为“ SMS”的数据库,其中有一个名为“发件箱”的表。

为了显示“客户”表中的所有电话号码,我使用以下SQL查询:

SELECT Customers.PhoneNumber FROM Customers WHERE PurchaseDate BETWEEN 2012-01-01 AND 2012-01-31;


现在,我需要将这些电话号码(多行)立即插入“发件箱”中。每个电话号码都会收到相同的消息。因此,基本上,我只需要知道如何对多个行使用此INSERT查询:

INSERT INTO Outbox (PhoneNumber, Message) VALUES (*Multiple PhoneNumbers Here*, 'Same Message To All Customers');


知道怎么做吗?之前感谢。

最佳答案

我假设您要为每个电话号码单独放置一行。您可以通过将INSERT与SELECT结合使用来实现:

INSERT INTO db2.Outbox (PhoneNumber, Message)
    SELECT Customers.PhoneNumber, 'Same Message To All Customers' as message
    FROM db1.Customers
    WHERE PurchaseDate BETWEEN 2012-01-01 AND 2012-01-31;

关于php - MySQL:使用单个SQL命令将数据库A中的多行插入数据库B中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12585215/

10-17 03:05