Как вставить значения в MYSQL-таблицу с помощью Select-Statements - PullRequest
3 голосов
/ 11 октября 2010

Хорошо, этот довольно похож на мой последний, но я не понимаю ...!

Я пытаюсь сделать следующее:

Insert into table b
  (Select column_1 from table_a where ID = 1),
  (Select column_2 from table_a where ID = 1),
  0,
  (Select column_3 from table_a where ID = 1);

Но я всегдаполучить синтаксическую ошибку ...!Я думаю, это вполне логично, что я пытаюсь сделать.

Привет из Германии и спасибо за ваши ответы!

1 Ответ

9 голосов
/ 11 октября 2010

Очень близко - используйте:

INSERT INTO TABLE_B
SELECT column_1, column_2, column_3 
  FROM TABLE_A
 WHERE id = 1

.. при условии, что в TABLE_B есть только три столбца. В противном случае укажите столбцы, вставляемые в:

INSERT INTO TABLE_B
  (column_1, column_2, column_3)
SELECT column_1, column_2, column_3 
  FROM TABLE_A
 WHERE id = 1

И, если необходимо, вы также можете использовать статически определенные значения:

INSERT INTO TABLE_B
  (column_1, column_2, column_3, column_4)
SELECT column_1, column_2, 0, column_3 
  FROM TABLE_A
 WHERE id = 1
...