mySQL查询:如何使用UNION插入?

Ind*_*ial 2 mysql union select

我是mySQL的新工具函数,至少在使用它们进行插入时.基于网上的示例,我已经完成了以下工作:

INSERT INTO tableOne(a, b)
SELECT a, $var FROM tableOne
WHERE b = $var2
UNION ALL SELECT $var,$var
Run Code Online (Sandbox Code Playgroud)

好的,没什么奇怪的.但是当我想在数据库中插入第三个与Select正在完成的逻辑无关的值时会发生什么?

喜欢 : INSERT INTO tableOne(a, b, c )

怎么可能这样呢?

nic*_*ckf 9

您也可以"选择"文字值:

mysql> select 'hello', 1;
+-------+---+
| hello | 1 |
+-------+---+
| hello | 1 |
+-------+---+
1 row in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)

因此,您也可以使用INSERT INTO ... SELECT FROMUNION.

INSERT INTO someTable (a, b, c) VALUES
SELECT id, name, 5
FROM someOtherTable
UNION
SELECT id, alias, 8
FROM anotherTable
Run Code Online (Sandbox Code Playgroud)

  • 至少对于sqlite3来说,似乎在这种情况下应该没有`VALUES`.请参见http://www.sqlite.org/lang_insert.html. (3认同)