【问题标题】:Multiple INSERT with SELECT statement and SELECT FROM WHERE simultaneously多个 INSERT 与 SELECT 语句和 SELECT FROM WHERE 同时
【发布时间】:2015-12-21 12:04:30
【问题描述】:

我有一张如下形状的桌子:

CREATE TABLE Cars (
  id integer PRIMARY KEY AUTO_INCREMENT NOT NULL,
  brand text,
  color text
);

你可以关注这个SQLFiddle link查看数据库。

您在右侧面板上看到了我尝试使用的查询,以便使用 SELECT 语句插入值。

问题

有人能指出我正确的方向,用SELECT 语句同时插入带和不带WHERE 子句的值吗?

我在这个问题上尝试了以下插入:

INSERT INTO Cars (brand, color)
SELECT "mazda", "black",
SELECT Cars.brand, Cars.color FROM Cars WHERE Cars.brand = "ferrari";

【问题讨论】:

    标签: mysql insert sql-insert insert-into


    【解决方案1】:

    使用UNION ALL:

    INSERT INTO Cars (brand, color)
    SELECT "mazda", "black"
    UNION ALL
    SELECT Cars.brand, Cars.color FROM Cars WHERE Cars.brand = "ferrari";
    

    Demo here

    【讨论】:

    • 这个解决方案完全符合我的需要。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-28
    • 2015-10-08
    • 1970-01-01
    • 2014-02-06
    • 1970-01-01
    • 2016-06-05
    相关资源
    最近更新 更多