2010-03-31 30 views
6

Tôi cần chèn dữ liệu từ bảng 1 vào bảng 2. Tuy nhiên, tôi muốn đặt cột myYear trong bảng2 đến năm 2010. Nhưng, không có cột myYear trong bảng 1.Làm cách nào để INSERT INTO từ một bảng mysql vào một bảng khác và đặt giá trị của một cột?

Vì vậy, chèn cơ bản của tôi trông giống như:

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

đại khái, tôi muốn làm một cái gì đó như sau:

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

Có cách nào để đặt giá trị cột trong chèn câu lệnh?

+1

1 để hiển thị câu trả lời đã cố gắng để chúng tôi có thể thấy chính xác những gì bạn đang cố gắng. – mynameiscoffey

Trả lời

8

Sau đây nên làm điều đó:

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

thử nghiệm cơ bản trường hợp:

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

Xin chào Daniel, Nó hoạt động hoàn hảo. Cám ơn rất nhiều. -Laxmidi – Laxmidi

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

Edit: bah, đã không nhận được câu trả lời gửi thông báo: P

+0

Xin chào Dusty, Cảm ơn bạn đã trả lời đúng. Daniel đánh bại bạn trong 3 phút;) Cảm ơn sự giúp đỡ. -Laxmidi – Laxmidi

+0

Vâng, do đó chỉnh sửa của tôi: P – Dusty

Các vấn đề liên quan