2010-03-31 5 views
6

J'ai besoin d'insérer des données de table1 dans table2. Cependant, je voudrais définir la colonne myYear dans table2 à 2010. Mais, il n'y a pas une colonne myYear dans table1.Comment puis-je INSERT INTO d'une table mysql dans une autre table et définir la valeur d'une colonne?

Donc, mon insert de base ressemble à:

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

En gros, je voudrais faire quelque chose comme ce qui suit:

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

est-il un moyen de définir la valeur de la colonne dans la insérer une déclaration?

+1

+1 pour montrer la tentative de réponse afin que nous puissions voir exactement ce que vous essayiez. – mynameiscoffey

Répondre

8

Ce qui suit devrait le faire:

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

cas de test de base:

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

Salut Daniel, ça a fonctionné parfaitement. Merci beaucoup. -Laxmidi – Laxmidi

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

Edit: bah, n'a pas obtenu la réponse affichée notification: P

+0

Salut Dusty, Merci pour la bonne réponse. Daniel vous a battu de 3 minutes;) Merci pour l'aide. -Laxmidi – Laxmidi

+0

Oui, d'où mon édition: P – Dusty

Questions connexes