2010-03-31 15 views
6

Potrzebuję wstawić dane z table1 do table2. Chciałbym jednak ustawić kolumnę myYear w tabeli 2 na 2010 rok. Ale w tabeli 1 nie ma kolumny myYear.Jak wstawić INTOERT z jednej tabeli mysql do innej tabeli i ustawić wartość jednej kolumny?

Więc moja podstawowa wkładka wygląda następująco:

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

grubsza, chciałbym zrobić coś jak następuje:

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

Czy istnieje sposób, aby ustawić wartość kolumny w wstawić oświadczenie?

+1

+1 za pokazanie usiłowanej odpowiedzi, abyśmy mogli dokładnie sprawdzić, co próbujesz. – mynameiscoffey

Odpowiedz

8

Następujące powinien to zrobić:

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

Podstawowy przypadek testowy:

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) 
+0

Cześć Daniel, wszystko działało idealnie. Dzięki wielkie. -Laxmidi – Laxmidi

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

Edit: Ba, nie uzyskać odpowiedź wysłane powiadomienie: P

+0

Cześć Dusty, dzięki za poprawną odpowiedź. Daniel pokonał cię 3 minuty;) Dzięki za pomoc. -Laxmidi – Laxmidi

+0

Tak, stąd moja edycja: P – Dusty

Powiązane problemy