2010-03-31 15 views
6

Necesito insertar datos de la tabla1 en la tabla2. Sin embargo, me gustaría establecer la columna myYear en la tabla 2 hasta 2010. Pero no hay una columna myYear en la tabla1.¿Cómo INGRESO INTO de una tabla mysql a otra tabla y establezco el valor de una columna?

lo tanto, mi inserción básica se parece a:

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

Aproximadamente, me gustaría hacer algo como lo siguiente:

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

¿Hay una manera de establecer el valor de la columna en el insertar declaración?

+1

+1 por mostrar el intento de respuesta para que pudiéramos ver exactamente lo que estaba intentando. – mynameiscoffey

Respuesta

8

Lo siguiente debe hacerlo:

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

caso de prueba básica:

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

Hola Daniel, funcionó perfectamente. Muchas gracias. -Laxmidi – Laxmidi

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

Editar: bah, no obtuvo la respuesta de notificación publicado: P

+0

Hola Polvoriento, gracias por la respuesta correcta. Daniel le ganó por 3 minutos;) Gracias por la ayuda. -Laxmidi – Laxmidi

+0

Sí, de ahí mi edición: P – Dusty

Cuestiones relacionadas