2012-01-30 35 views
15

Tôi có hai bảng MySQL a và b với các trường x và y. Bảng b có thêm 1 trường z. Bảng a nằm trong cơ sở dữ liệu db1 và b là trong db2. Tôi muốn sao chép x và y từ a đến b và đặt giá trị tĩnh cho z. Làm thế nào tôi có thể làm điều đó ?Làm thế nào để thêm giá trị tĩnh khi thực hiện INSERT INTO với SELECT trong truy vấn MySQL?

db1.a.x -> db2.b.x 
db1.a.y -> db2.b.y 
4 -> db2.b.z 

Cho đến nay tôi có:

"INSERT INTO db2.b (x,y) SELECT x,y FROM db1.a" 

Làm thế nào để tôi thiết db2.b.z đến 4? Tôi không muốn đặt biến mặc định vĩnh viễn cho bảng.

Trả lời

44

SELECT 4 sẽ cung cấp cho bạn 4, vì vậy hãy thử:

INSERT INTO db2.b (x,y,z) SELECT x,y,4 FROM db1.a 
+0

đó là :) nhanh chóng cảm ơn bạn rất nhiều! – JasonTS

9
INSERT INTO db2.b (x, y, z) SELECT x, y, 4 FROM db1.a; 
Các vấn đề liên quan