MySQL:使用单个SQL命令将数据库A中的多行插入到数据库B中

时间:2012-09-25 14:32:30

标签: php mysql

我有一个名为'客户'它包含客户的电话号码。它肯定不止一行。

另一方面,我也有名为' SMS'其中有一张桌子,名为“Outbox'。

为了显示来自'客户'的所有电话号码。表,我使用这个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');

任何想法怎么做?谢谢。

4 个答案:

答案 0 :(得分:4)

我假设你想为每个电话号码分别设一行。您可以通过将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;

答案 1 :(得分:0)

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

你应该

答案 2 :(得分:0)

INSERT INTO dbX.table_a
    SELECT ...
        FROM dbY.table_b
        WHERE ...

如果确保选择'列列表完全匹配dbX.table_a,则 在插入的值列表中指定任何内容。

答案 3 :(得分:-2)

你可以使用(mysql_fetch_array)看下面这些链接:

http://php.about.com/od/phpwithmysql/ss/mysql_php_2.htm

http://www.w3schools.com