Как делают меня INSERT INTO от одной mysql таблицы в другую таблицу и устанавливают значение одного столбца?

Я должен вставить данные из table1 в table2. Однако я хотел бы установить myYear столбец в table2 к 2010. Но, в table1 нет myYear Столбца.

Так, моя основная вставка похожа:

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

Примерно, я хотел бы сделать что-то как следующее:

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

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

7
задан Daniel Fischer 9 May 2012 в 12:10
поделиться

2 ответа

Должно получиться следующее:

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)
10
ответ дан 6 December 2019 в 19:35
поделиться
INSERT INTO `table2` (place, event, myYear)
SELECT place, event, 2010
FROM table1

Изменить: бах, уведомление об ответе не получено: P

3
ответ дан 6 December 2019 в 19:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: