我試圖插入多個行,其值不是從現有表中提取的,而是從外部提供的,以及使用INSERT ... SELECT ... WHERE
的where條件提供的。INSERT SELECT WHERE從常量插入多行
下面的查詢不工作:
mysql> insert into `my_table` SELECT 1 as a, 2 as b, 3 as c from dual UNION ALL SELECT 4 , 5 , 6 from dual UNION ALL SELECT 7 , 8 , 9 from dual where 1>2 ;
Query OK, 2 rows affected (0.01 sec)
Records: 2 Duplicates: 0 Warnings: 0
mysql> select * from my_table;
+---+---+------+
| a | b | c |
+---+---+------+
| 1 | 2 | 3 |
| 4 | 5 | 6 |
+---+---+------+
2 rows in set (0.00 sec)
我想查詢,因爲where
條件爲假不插入任何行。但是,where
子句僅適用於最後的select
和第1個select
不受where
子句的影響。
我該如何糾正它?
你可以選擇嘗試*從(所有查詢),其中1> 2 –