mySQL query: How to insert with UNION?

20,062

You can "select" literal values too:

mysql> select 'hello', 1;
+-------+---+
| hello | 1 |
+-------+---+
| hello | 1 |
+-------+---+
1 row in set (0.00 sec)

Hence, you can also use that in INSERT INTO ... SELECT FROM and UNIONs.

INSERT INTO someTable (a, b, c) VALUES
SELECT id, name, 5
FROM someOtherTable
UNION
SELECT id, alias, 8
FROM anotherTable
Share:
20,062
Industrial
Author by

Industrial

I just want to lie on the beach and eat hot dogs. That’s all I’ve ever wanted. Really.

Updated on July 10, 2022

Comments

  • Industrial
    Industrial almost 2 years

    I am kind of new to mySQL:s union functions, at least when doing inserts with them. I have gotten the following to work based upon a example found on the net:

    INSERT INTO tableOne(a, b)
    SELECT a, $var FROM tableOne
    WHERE b = $var2
    UNION ALL SELECT $var,$var
    

    Ok, nothing strange about that. But what happens when I want to insert a third value into the database that has nothing to do with the logic of the Select being done?

    Like : INSERT INTO tableOne(a, b, c )

    How could that be done?