Как мне вставить INTO из одной таблицы MySQL в другую таблицу и установить значение одного столбца? - PullRequest
7 голосов
/ 31 марта 2010

Мне нужно вставить данные из таблицы1 в таблицу2. Однако я хотел бы установить для столбца myYear в таблице 2 значение 2010. Но в таблице table1 нет столбца myYear.

Итак, моя основная вставка выглядит так:

INSERT INTO  `table2` ( place, event ) 
SELECT place, event
FROM table1

Грубо говоря, я хотел бы сделать что-то вроде следующего:

INSERT INTO `table2` ( place, event, SET myYear='2010' )
...

Есть ли способ установить значение столбца в операторе вставки?

Ответы [ 2 ]

9 голосов
/ 31 марта 2010

Следующие должны сделать это:

INSERT INTO `table2` (place, event, myYear) 
SELECT place, event, '2010'
FROM   table1;

Базовый контрольный пример:

CREATE TABLE t1 (a int, b int);
CREATE TABLE t2 (c int);

INSERT INTO t2 VALUES (1),(2),(3),(4),(5);

INSERT INTO t1 SELECT c, 100 FROM t2;

SELECT * FROM t1;

+------+------+
| a    | b    |
+------+------+
|    1 |  100 | 
|    2 |  100 | 
|    3 |  100 | 
|    4 |  100 | 
|    5 |  100 | 
+------+------+
5 rows in set (0.00 sec)
3 голосов
/ 31 марта 2010
INSERT INTO `table2` (place, event, myYear)
SELECT place, event, 2010
FROM table1

Редактировать: ба, не получил ответ, опубликовано уведомление: P

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...