Ich versuche, mehrere Zeilen einzufügen, deren Werte nicht aus einer vorhandenen Tabelle stammen, sondern von außen zusammen mit einer WHERE-Bedingung unter Verwendung INSERT ... SELECT ... WHERE
.INSERT SELECT WHERE mehrere Zeilen von Konstanten einfügen
Die folgende Abfrage funktioniert nicht:
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)
Ich mag jede Zeile nicht abfragen eingefügt werden, da die where
Bedingung falsch ist. Aber die where
Klausel gilt nur für die letzten select
und 1. 2 select
s sind nicht betroffen von where
Klausel.
Wie kann ich das korrigieren?
Sie wählen können versuchen * aus (alle Ihre Abfrage), wobei 1> 2 –