2012-02-15 49 views

Trả lời

15

Bạn có thể sử dụng câu lệnh CREATE TABLE ... SELECT.

CREATE TABLE new_table 
    SELECT * FROM table1 
    UNION 
    SELECT * FROM table2; 
+0

Có hoạt động của nó tôi không biết tại sao tôi đã tryng CREATE TABLE new_table ( CHỌN * TỪ bảng1 UNION CHỌN * TỪ bảng 2); –

+0

Có, không có dấu ngoặc đơn công việc của nó! – netluke

1
create table new_table as 
select col1, col2 from table1 
union 
select col1, col2 from table2 

Hãy chắc chắn rằng bạn chọn cùng một tập các cột từ bảng trong đoàn.

+0

mysql đưa ra lỗi nếu bạn cố gắng bọc truy vấn kết hợp trong dấu ngoặc đơn. bỏ qua các dấu ngoặc đơn đã làm các trick cho tôi, như được đề xuất bởi câu trả lời của @ devart – s2t2

0

Hoặc thậm chí bạn có thể xác định rõ ràng tạo bảng (chúng tôi thường sử dụng trong dự án của chúng tôi).

CREATE TABLE IF NOT EXISTS AuditLog (

user_id varchar (30) NOT NULL default '',

user_ip varchar (255) NOT NULL default '',

..... ... ........

KEY IE1 (user_id))

đoàn = (auditlog_2, auditlog_3, auditlog_4) động cơ = merge insert_method = cuối cùng;

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