【问题标题】:SQL Insert data from multiple tables in different databaseSQL从不同数据库中的多个表中插入数据
【发布时间】:2013-05-21 20:40:40
【问题描述】:

我在 a2 数据库中有 cat 表,我想从不同数据库的不同表中插入 id、img 列

INSERT INTO a2.cat (id, img) SELECT id FROM topshop_test.product , 从 topshop_test.product-images 中选择名称;

【问题讨论】:

    标签: mysql sql database insert sql-insert


    【解决方案1】:

    我认为您需要考虑为此使用JOIN

    INSERT INTO a1.cat (id, img)
    SELECT p.id, pi.name
    FROM topshop_test.product p 
        JOIN topshop_test.product-images pi ON p.id = pi.productid
    

    这假设 product-images 表有一个 productid 字段链接到 product 表。

    【讨论】:

    • p 和 pi 是标准的,或者我可以输入任何字符
    • @FahmyFarahat——它们只是表别名——比输入表名更容易。所以是的,您可以将它们更改为任何值。
    • 此处不工作错误#1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 4 行的“-images pi ON p.id = pi.productid”附近使用正确的语法
    • @FahmyFarahat -- 您需要将 pi.productid 更改为该表中的任何外键(您没有提供表定义,所以我不得不猜测)。您的产品图像表中应该有一个产品 id 字段——改用它。
    猜你喜欢
    • 2016-08-15
    • 2016-11-09
    • 2023-03-29
    • 2013-07-19
    • 2013-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-30
    相关资源
    最近更新 更多