Hướng dẫn how do i add a new table to two tables in mysql? - làm cách nào để thêm một bảng mới vào hai bảng trong mysql?

Lỗi: Hoạt động không hợp lệ: Các loại thời gian của Liên minh không có múi giờ và số nguyên không thể được khớp

Bạn phải chọn NULL trong trình điều khiển phụ của liên minh để biết kiểu dữ liệu thích hợp. I E. cái gì đó như

SELECT col1, CAST[null AS DATETIME] as col2, CAST[null AS CHAR] as col3 from table1
UNION ALL
...

Tôi đã thay đổi câu hỏi của mình một chút. Tôi nhận được kết quả từ chỉ số 1 chọn các cột từ Bảng1 trong bảng mới. Bạn có thể giúp tôi hiểu những gì sai ở đây, hoặc làm thế nào tôi có thể nhận được tất cả các cột? - Ros

CREATE TABLE datetime_test 
AS
SELECT *
FROM [ SELECT col1, null as col2, null as col3 from table1
       union all 
       select col1, col2, col3 from table2
       union all 
       select col1, col2, null as col3 from table3 ] AS total_data;
2 cần trong truy vấn "vô hướng" dưới dạng dữ liệu. Vì vậy, sử dụng

CREATE TABLE datetime_test 
AS
SELECT *
FROM [ SELECT col1, null as col2, null as col3 from table1
       union all 
       select col1, col2, col3 from table2
       union all 
       select col1, col2, null as col3 from table3 ] AS total_data;

PS. Tôi khuyên bạn nên xác định các mẫu dữ liệu chính xác trong phần Created Bable. Ngoài ra, điều này sẽ làm cho việc casting cho nulls trong Union không cần thiết.

13.1.20.4 & NBSP; Tạo bảng ... Chọn câu lệnh

Bạn có thể tạo một bảng này từ một bảng khác bằng cách thêm câu lệnh

CREATE TABLE datetime_test 
AS
SELECT *
FROM [ SELECT col1, null as col2, null as col3 from table1
       union all 
       select col1, col2, col3 from table2
       union all 
       select col1, col2, null as col3 from table3 ] AS total_data;
3 vào cuối câu lệnh
CREATE TABLE datetime_test 
AS
SELECT *
FROM [ SELECT col1, null as col2, null as col3 from table1
       union all 
       select col1, col2, col3 from table2
       union all 
       select col1, col2, null as col3 from table3 ] AS total_data;
4:

CREATE TABLE new_tbl [AS] SELECT * FROM orig_tbl;

MySQL tạo các cột mới cho tất cả các phần tử trong

CREATE TABLE datetime_test 
AS
SELECT *
FROM [ SELECT col1, null as col2, null as col3 from table1
       union all 
       select col1, col2, col3 from table2
       union all 
       select col1, col2, null as col3 from table3 ] AS total_data;
3. Ví dụ:

mysql> CREATE TABLE test [a INT NOT NULL AUTO_INCREMENT,
    ->        PRIMARY KEY [a], KEY[b]]
    ->        ENGINE=InnoDB SELECT b,c FROM test2;

Điều này tạo ra một bảng

CREATE TABLE datetime_test 
AS
SELECT *
FROM [ SELECT col1, null as col2, null as col3 from table1
       union all 
       select col1, col2, col3 from table2
       union all 
       select col1, col2, null as col3 from table3 ] AS total_data;
6 với ba cột,
CREATE TABLE datetime_test 
AS
SELECT *
FROM [ SELECT col1, null as col2, null as col3 from table1
       union all 
       select col1, col2, col3 from table2
       union all 
       select col1, col2, null as col3 from table3 ] AS total_data;
7,
CREATE TABLE datetime_test 
AS
SELECT *
FROM [ SELECT col1, null as col2, null as col3 from table1
       union all 
       select col1, col2, col3 from table2
       union all 
       select col1, col2, null as col3 from table3 ] AS total_data;
8 và
CREATE TABLE datetime_test 
AS
SELECT *
FROM [ SELECT col1, null as col2, null as col3 from table1
       union all 
       select col1, col2, col3 from table2
       union all 
       select col1, col2, null as col3 from table3 ] AS total_data;
9. Tùy chọn
CREATE TABLE new_tbl [AS] SELECT * FROM orig_tbl;
0 là một phần của câu lệnh
CREATE TABLE datetime_test 
AS
SELECT *
FROM [ SELECT col1, null as col2, null as col3 from table1
       union all 
       select col1, col2, col3 from table2
       union all 
       select col1, col2, null as col3 from table3 ] AS total_data;
4 và không nên được sử dụng theo sau
CREATE TABLE datetime_test 
AS
SELECT *
FROM [ SELECT col1, null as col2, null as col3 from table1
       union all 
       select col1, col2, col3 from table2
       union all 
       select col1, col2, null as col3 from table3 ] AS total_data;
3; Điều này sẽ dẫn đến một lỗi cú pháp. Điều tương tự cũng đúng với các tùy chọn
CREATE TABLE datetime_test 
AS
SELECT *
FROM [ SELECT col1, null as col2, null as col3 from table1
       union all 
       select col1, col2, col3 from table2
       union all 
       select col1, col2, null as col3 from table3 ] AS total_data;
4 khác như
CREATE TABLE new_tbl [AS] SELECT * FROM orig_tbl;
4.

Lưu ý rằng các cột từ câu lệnh

CREATE TABLE datetime_test 
AS
SELECT *
FROM [ SELECT col1, null as col2, null as col3 from table1
       union all 
       select col1, col2, col3 from table2
       union all 
       select col1, col2, null as col3 from table3 ] AS total_data;
3 được thêm vào phía bên phải của bảng, không chồng lên nó. Lấy ví dụ sau:

mysql> SELECT * FROM foo;
+---+
| n |
+---+
| 1 |
+---+

mysql> CREATE TABLE bar [m INT] SELECT n FROM foo;
Query OK, 1 row affected [0.02 sec]
Records: 1  Duplicates: 0  Warnings: 0

mysql> SELECT * FROM bar;
+------+---+
| m    | n |
+------+---+
| NULL | 1 |
+------+---+
1 row in set [0.00 sec]

Đối với mỗi hàng trong bảng

CREATE TABLE new_tbl [AS] SELECT * FROM orig_tbl;
6, một hàng được chèn vào
CREATE TABLE new_tbl [AS] SELECT * FROM orig_tbl;
7 với các giá trị từ
CREATE TABLE new_tbl [AS] SELECT * FROM orig_tbl;
6 và các giá trị mặc định cho các cột mới.

Trong một bảng kết quả từ

CREATE TABLE new_tbl [AS] SELECT * FROM orig_tbl;
9, các cột chỉ có tên trong phần
CREATE TABLE datetime_test 
AS
SELECT *
FROM [ SELECT col1, null as col2, null as col3 from table1
       union all 
       select col1, col2, col3 from table2
       union all 
       select col1, col2, null as col3 from table3 ] AS total_data;
4 xuất hiện trước. Các cột có tên trong cả hai phần hoặc chỉ trong phần
CREATE TABLE datetime_test 
AS
SELECT *
FROM [ SELECT col1, null as col2, null as col3 from table1
       union all 
       select col1, col2, col3 from table2
       union all 
       select col1, col2, null as col3 from table3 ] AS total_data;
3 đến sau đó. Kiểu dữ liệu của các cột
CREATE TABLE datetime_test 
AS
SELECT *
FROM [ SELECT col1, null as col2, null as col3 from table1
       union all 
       select col1, col2, col3 from table2
       union all 
       select col1, col2, null as col3 from table3 ] AS total_data;
3 có thể được ghi đè bằng cách chỉ định cột trong phần
CREATE TABLE datetime_test 
AS
SELECT *
FROM [ SELECT col1, null as col2, null as col3 from table1
       union all 
       select col1, col2, col3 from table2
       union all 
       select col1, col2, null as col3 from table3 ] AS total_data;
4.

Nếu lỗi xảy ra trong khi sao chép dữ liệu vào bảng, bảng sẽ tự động bị hủy và không được tạo. Tuy nhiên, trước MySQL 8.0.21, khi sử dụng sao chép dựa trên hàng, một câu lệnh

mysql> CREATE TABLE test [a INT NOT NULL AUTO_INCREMENT,
    ->        PRIMARY KEY [a], KEY[b]]
    ->        ENGINE=InnoDB SELECT b,c FROM test2;
4 được ghi lại trong nhật ký nhị phân là hai giao dịch, một để tạo bảng và cái còn lại để chèn dữ liệu. Khi câu lệnh được áp dụng từ nhật ký nhị phân, lỗi giữa hai giao dịch hoặc trong khi sao chép dữ liệu có thể dẫn đến việc sao chép một bảng trống. Giới hạn đó được loại bỏ trong MySQL 8.0,21. Trên các công cụ lưu trữ hỗ trợ DDL nguyên tử,
mysql> CREATE TABLE test [a INT NOT NULL AUTO_INCREMENT,
    ->        PRIMARY KEY [a], KEY[b]]
    ->        ENGINE=InnoDB SELECT b,c FROM test2;
4 hiện được ghi lại và áp dụng dưới dạng một giao dịch khi sử dụng sao chép dựa trên hàng. Để biết thêm thông tin, xem Phần & NBSP; 13.1.1, Câu lệnh xác định dữ liệu nguyên tử hỗ trợ.

Kể từ MySQL 8.0.21, trên các công cụ lưu trữ hỗ trợ cả DDL nguyên tử và các ràng buộc khóa nước ngoài, việc tạo các khóa nước ngoài không được phép trong các tuyên bố ____34 khi sử dụng sao chép dựa trên hàng. Các ràng buộc khóa nước ngoài có thể được thêm vào sau đó bằng cách sử dụng

mysql> CREATE TABLE test [a INT NOT NULL AUTO_INCREMENT,
    ->        PRIMARY KEY [a], KEY[b]]
    ->        ENGINE=InnoDB SELECT b,c FROM test2;
7.

Bạn có thể đi trước

CREATE TABLE datetime_test 
AS
SELECT *
FROM [ SELECT col1, null as col2, null as col3 from table1
       union all 
       select col1, col2, col3 from table2
       union all 
       select col1, col2, null as col3 from table3 ] AS total_data;
3 bằng
mysql> CREATE TABLE test [a INT NOT NULL AUTO_INCREMENT,
    ->        PRIMARY KEY [a], KEY[b]]
    ->        ENGINE=InnoDB SELECT b,c FROM test2;
9 hoặc
mysql> SELECT * FROM foo;
+---+
| n |
+---+
| 1 |
+---+

mysql> CREATE TABLE bar [m INT] SELECT n FROM foo;
Query OK, 1 row affected [0.02 sec]
Records: 1  Duplicates: 0  Warnings: 0

mysql> SELECT * FROM bar;
+------+---+
| m    | n |
+------+---+
| NULL | 1 |
+------+---+
1 row in set [0.00 sec]
0 để chỉ ra cách xử lý các hàng sao chép các giá trị khóa duy nhất. Với
mysql> CREATE TABLE test [a INT NOT NULL AUTO_INCREMENT,
    ->        PRIMARY KEY [a], KEY[b]]
    ->        ENGINE=InnoDB SELECT b,c FROM test2;
9, các hàng sao chép một hàng hiện có trên một giá trị khóa duy nhất bị loại bỏ. Với
mysql> SELECT * FROM foo;
+---+
| n |
+---+
| 1 |
+---+

mysql> CREATE TABLE bar [m INT] SELECT n FROM foo;
Query OK, 1 row affected [0.02 sec]
Records: 1  Duplicates: 0  Warnings: 0

mysql> SELECT * FROM bar;
+------+---+
| m    | n |
+------+---+
| NULL | 1 |
+------+---+
1 row in set [0.00 sec]
0, các hàng mới thay thế các hàng có cùng giá trị khóa duy nhất. Nếu cả
mysql> CREATE TABLE test [a INT NOT NULL AUTO_INCREMENT,
    ->        PRIMARY KEY [a], KEY[b]]
    ->        ENGINE=InnoDB SELECT b,c FROM test2;
9 và
mysql> SELECT * FROM foo;
+---+
| n |
+---+
| 1 |
+---+

mysql> CREATE TABLE bar [m INT] SELECT n FROM foo;
Query OK, 1 row affected [0.02 sec]
Records: 1  Duplicates: 0  Warnings: 0

mysql> SELECT * FROM bar;
+------+---+
| m    | n |
+------+---+
| NULL | 1 |
+------+---+
1 row in set [0.00 sec]
0 đều không được chỉ định, hãy sao chép các giá trị khóa duy nhất dẫn đến lỗi. Để biết thêm thông tin, hãy xem ảnh hưởng của việc bỏ qua đối với việc thực thi tuyên bố.

Trong MySQL 8.0.19 và sau đó, bạn cũng có thể sử dụng câu lệnh

mysql> SELECT * FROM foo;
+---+
| n |
+---+
| 1 |
+---+

mysql> CREATE TABLE bar [m INT] SELECT n FROM foo;
Query OK, 1 row affected [0.02 sec]
Records: 1  Duplicates: 0  Warnings: 0

mysql> SELECT * FROM bar;
+------+---+
| m    | n |
+------+---+
| NULL | 1 |
+------+---+
1 row in set [0.00 sec]
5 trong phần
CREATE TABLE datetime_test 
AS
SELECT *
FROM [ SELECT col1, null as col2, null as col3 from table1
       union all 
       select col1, col2, col3 from table2
       union all 
       select col1, col2, null as col3 from table3 ] AS total_data;
3 của
mysql> CREATE TABLE test [a INT NOT NULL AUTO_INCREMENT,
    ->        PRIMARY KEY [a], KEY[b]]
    ->        ENGINE=InnoDB SELECT b,c FROM test2;
4; Phần
mysql> SELECT * FROM foo;
+---+
| n |
+---+
| 1 |
+---+

mysql> CREATE TABLE bar [m INT] SELECT n FROM foo;
Query OK, 1 row affected [0.02 sec]
Records: 1  Duplicates: 0  Warnings: 0

mysql> SELECT * FROM bar;
+------+---+
| m    | n |
+------+---+
| NULL | 1 |
+------+---+
1 row in set [0.00 sec]
5 của câu lệnh phải bao gồm một bí danh bảng bằng mệnh đề
mysql> SELECT * FROM foo;
+---+
| n |
+---+
| 1 |
+---+

mysql> CREATE TABLE bar [m INT] SELECT n FROM foo;
Query OK, 1 row affected [0.02 sec]
Records: 1  Duplicates: 0  Warnings: 0

mysql> SELECT * FROM bar;
+------+---+
| m    | n |
+------+---+
| NULL | 1 |
+------+---+
1 row in set [0.00 sec]
9. Để đặt tên cho các cột đến từ
mysql> SELECT * FROM foo;
+---+
| n |
+---+
| 1 |
+---+

mysql> CREATE TABLE bar [m INT] SELECT n FROM foo;
Query OK, 1 row affected [0.02 sec]
Records: 1  Duplicates: 0  Warnings: 0

mysql> SELECT * FROM bar;
+------+---+
| m    | n |
+------+---+
| NULL | 1 |
+------+---+
1 row in set [0.00 sec]
5, cung cấp bí danh cột với bí danh bảng; Mặt khác, tên cột mặc định
mysql> CREATE TABLE tv1
     >     SELECT * FROM [VALUES ROW[1,3,5], ROW[2,4,6]] AS v;
mysql> TABLE tv1;
+----------+----------+----------+
| column_0 | column_1 | column_2 |
+----------+----------+----------+
|        1 |        3 |        5 |
|        2 |        4 |        6 |
+----------+----------+----------+

mysql> CREATE TABLE tv2
     >     SELECT * FROM [VALUES ROW[1,3,5], ROW[2,4,6]] AS v[x,y,z];
mysql> TABLE tv2;
+---+---+---+
| x | y | z |
+---+---+---+
| 1 | 3 | 5 |
| 2 | 4 | 6 |
+---+---+---+

mysql> CREATE TABLE tv3 [a INT, b INT, c INT]
     >     SELECT * FROM [VALUES ROW[1,3,5], ROW[2,4,6]] AS v[x,y,z];
mysql> TABLE tv3;
+------+------+------+----------+----------+----------+
| a    | b    | c    | column_0 | column_1 | column_2 |
+------+------+------+----------+----------+----------+
| NULL | NULL | NULL |        1 |        3 |        5 |
| NULL | NULL | NULL |        2 |        4 |        6 |
+------+------+------+----------+----------+----------+

mysql> CREATE TABLE tv4 [a INT, b INT, c INT]
     >     SELECT * FROM [VALUES ROW[1,3,5], ROW[2,4,6]] AS v[x,y,z];
mysql> TABLE tv4;
+------+------+------+---+---+---+
| a    | b    | c    | x | y | z |
+------+------+------+---+---+---+
| NULL | NULL | NULL | 1 | 3 | 5 |
| NULL | NULL | NULL | 2 | 4 | 6 |
+------+------+------+---+---+---+

mysql> CREATE TABLE tv5 [a INT, b INT, c INT]
     >     SELECT * FROM [VALUES ROW[1,3,5], ROW[2,4,6]] AS v[a,b,c];
mysql> TABLE tv5;
+------+------+------+
| a    | b    | c    |
+------+------+------+
|    1 |    3 |    5 |
|    2 |    4 |    6 |
+------+------+------+
1,
mysql> CREATE TABLE tv1
     >     SELECT * FROM [VALUES ROW[1,3,5], ROW[2,4,6]] AS v;
mysql> TABLE tv1;
+----------+----------+----------+
| column_0 | column_1 | column_2 |
+----------+----------+----------+
|        1 |        3 |        5 |
|        2 |        4 |        6 |
+----------+----------+----------+

mysql> CREATE TABLE tv2
     >     SELECT * FROM [VALUES ROW[1,3,5], ROW[2,4,6]] AS v[x,y,z];
mysql> TABLE tv2;
+---+---+---+
| x | y | z |
+---+---+---+
| 1 | 3 | 5 |
| 2 | 4 | 6 |
+---+---+---+

mysql> CREATE TABLE tv3 [a INT, b INT, c INT]
     >     SELECT * FROM [VALUES ROW[1,3,5], ROW[2,4,6]] AS v[x,y,z];
mysql> TABLE tv3;
+------+------+------+----------+----------+----------+
| a    | b    | c    | column_0 | column_1 | column_2 |
+------+------+------+----------+----------+----------+
| NULL | NULL | NULL |        1 |        3 |        5 |
| NULL | NULL | NULL |        2 |        4 |        6 |
+------+------+------+----------+----------+----------+

mysql> CREATE TABLE tv4 [a INT, b INT, c INT]
     >     SELECT * FROM [VALUES ROW[1,3,5], ROW[2,4,6]] AS v[x,y,z];
mysql> TABLE tv4;
+------+------+------+---+---+---+
| a    | b    | c    | x | y | z |
+------+------+------+---+---+---+
| NULL | NULL | NULL | 1 | 3 | 5 |
| NULL | NULL | NULL | 2 | 4 | 6 |
+------+------+------+---+---+---+

mysql> CREATE TABLE tv5 [a INT, b INT, c INT]
     >     SELECT * FROM [VALUES ROW[1,3,5], ROW[2,4,6]] AS v[a,b,c];
mysql> TABLE tv5;
+------+------+------+
| a    | b    | c    |
+------+------+------+
|    1 |    3 |    5 |
|    2 |    4 |    6 |
+------+------+------+
2,
mysql> CREATE TABLE tv1
     >     SELECT * FROM [VALUES ROW[1,3,5], ROW[2,4,6]] AS v;
mysql> TABLE tv1;
+----------+----------+----------+
| column_0 | column_1 | column_2 |
+----------+----------+----------+
|        1 |        3 |        5 |
|        2 |        4 |        6 |
+----------+----------+----------+

mysql> CREATE TABLE tv2
     >     SELECT * FROM [VALUES ROW[1,3,5], ROW[2,4,6]] AS v[x,y,z];
mysql> TABLE tv2;
+---+---+---+
| x | y | z |
+---+---+---+
| 1 | 3 | 5 |
| 2 | 4 | 6 |
+---+---+---+

mysql> CREATE TABLE tv3 [a INT, b INT, c INT]
     >     SELECT * FROM [VALUES ROW[1,3,5], ROW[2,4,6]] AS v[x,y,z];
mysql> TABLE tv3;
+------+------+------+----------+----------+----------+
| a    | b    | c    | column_0 | column_1 | column_2 |
+------+------+------+----------+----------+----------+
| NULL | NULL | NULL |        1 |        3 |        5 |
| NULL | NULL | NULL |        2 |        4 |        6 |
+------+------+------+----------+----------+----------+

mysql> CREATE TABLE tv4 [a INT, b INT, c INT]
     >     SELECT * FROM [VALUES ROW[1,3,5], ROW[2,4,6]] AS v[x,y,z];
mysql> TABLE tv4;
+------+------+------+---+---+---+
| a    | b    | c    | x | y | z |
+------+------+------+---+---+---+
| NULL | NULL | NULL | 1 | 3 | 5 |
| NULL | NULL | NULL | 2 | 4 | 6 |
+------+------+------+---+---+---+

mysql> CREATE TABLE tv5 [a INT, b INT, c INT]
     >     SELECT * FROM [VALUES ROW[1,3,5], ROW[2,4,6]] AS v[a,b,c];
mysql> TABLE tv5;
+------+------+------+
| a    | b    | c    |
+------+------+------+
|    1 |    3 |    5 |
|    2 |    4 |    6 |
+------+------+------+
3, ..., được sử dụng.

Mặt khác, việc đặt tên các cột trong bảng do đó được tạo tuân theo các quy tắc tương tự như được mô tả trước đây trong phần này. Ví dụ:

mysql> CREATE TABLE tv1
     >     SELECT * FROM [VALUES ROW[1,3,5], ROW[2,4,6]] AS v;
mysql> TABLE tv1;
+----------+----------+----------+
| column_0 | column_1 | column_2 |
+----------+----------+----------+
|        1 |        3 |        5 |
|        2 |        4 |        6 |
+----------+----------+----------+

mysql> CREATE TABLE tv2
     >     SELECT * FROM [VALUES ROW[1,3,5], ROW[2,4,6]] AS v[x,y,z];
mysql> TABLE tv2;
+---+---+---+
| x | y | z |
+---+---+---+
| 1 | 3 | 5 |
| 2 | 4 | 6 |
+---+---+---+

mysql> CREATE TABLE tv3 [a INT, b INT, c INT]
     >     SELECT * FROM [VALUES ROW[1,3,5], ROW[2,4,6]] AS v[x,y,z];
mysql> TABLE tv3;
+------+------+------+----------+----------+----------+
| a    | b    | c    | column_0 | column_1 | column_2 |
+------+------+------+----------+----------+----------+
| NULL | NULL | NULL |        1 |        3 |        5 |
| NULL | NULL | NULL |        2 |        4 |        6 |
+------+------+------+----------+----------+----------+

mysql> CREATE TABLE tv4 [a INT, b INT, c INT]
     >     SELECT * FROM [VALUES ROW[1,3,5], ROW[2,4,6]] AS v[x,y,z];
mysql> TABLE tv4;
+------+------+------+---+---+---+
| a    | b    | c    | x | y | z |
+------+------+------+---+---+---+
| NULL | NULL | NULL | 1 | 3 | 5 |
| NULL | NULL | NULL | 2 | 4 | 6 |
+------+------+------+---+---+---+

mysql> CREATE TABLE tv5 [a INT, b INT, c INT]
     >     SELECT * FROM [VALUES ROW[1,3,5], ROW[2,4,6]] AS v[a,b,c];
mysql> TABLE tv5;
+------+------+------+
| a    | b    | c    |
+------+------+------+
|    1 |    3 |    5 |
|    2 |    4 |    6 |
+------+------+------+

Khi chọn tất cả các cột và sử dụng tên cột mặc định, bạn có thể bỏ qua

mysql> CREATE TABLE tv1
     >     SELECT * FROM [VALUES ROW[1,3,5], ROW[2,4,6]] AS v;
mysql> TABLE tv1;
+----------+----------+----------+
| column_0 | column_1 | column_2 |
+----------+----------+----------+
|        1 |        3 |        5 |
|        2 |        4 |        6 |
+----------+----------+----------+

mysql> CREATE TABLE tv2
     >     SELECT * FROM [VALUES ROW[1,3,5], ROW[2,4,6]] AS v[x,y,z];
mysql> TABLE tv2;
+---+---+---+
| x | y | z |
+---+---+---+
| 1 | 3 | 5 |
| 2 | 4 | 6 |
+---+---+---+

mysql> CREATE TABLE tv3 [a INT, b INT, c INT]
     >     SELECT * FROM [VALUES ROW[1,3,5], ROW[2,4,6]] AS v[x,y,z];
mysql> TABLE tv3;
+------+------+------+----------+----------+----------+
| a    | b    | c    | column_0 | column_1 | column_2 |
+------+------+------+----------+----------+----------+
| NULL | NULL | NULL |        1 |        3 |        5 |
| NULL | NULL | NULL |        2 |        4 |        6 |
+------+------+------+----------+----------+----------+

mysql> CREATE TABLE tv4 [a INT, b INT, c INT]
     >     SELECT * FROM [VALUES ROW[1,3,5], ROW[2,4,6]] AS v[x,y,z];
mysql> TABLE tv4;
+------+------+------+---+---+---+
| a    | b    | c    | x | y | z |
+------+------+------+---+---+---+
| NULL | NULL | NULL | 1 | 3 | 5 |
| NULL | NULL | NULL | 2 | 4 | 6 |
+------+------+------+---+---+---+

mysql> CREATE TABLE tv5 [a INT, b INT, c INT]
     >     SELECT * FROM [VALUES ROW[1,3,5], ROW[2,4,6]] AS v[a,b,c];
mysql> TABLE tv5;
+------+------+------+
| a    | b    | c    |
+------+------+------+
|    1 |    3 |    5 |
|    2 |    4 |    6 |
+------+------+------+
4, vì vậy câu lệnh chỉ được sử dụng để tạo Bảng
mysql> CREATE TABLE tv1
     >     SELECT * FROM [VALUES ROW[1,3,5], ROW[2,4,6]] AS v;
mysql> TABLE tv1;
+----------+----------+----------+
| column_0 | column_1 | column_2 |
+----------+----------+----------+
|        1 |        3 |        5 |
|        2 |        4 |        6 |
+----------+----------+----------+

mysql> CREATE TABLE tv2
     >     SELECT * FROM [VALUES ROW[1,3,5], ROW[2,4,6]] AS v[x,y,z];
mysql> TABLE tv2;
+---+---+---+
| x | y | z |
+---+---+---+
| 1 | 3 | 5 |
| 2 | 4 | 6 |
+---+---+---+

mysql> CREATE TABLE tv3 [a INT, b INT, c INT]
     >     SELECT * FROM [VALUES ROW[1,3,5], ROW[2,4,6]] AS v[x,y,z];
mysql> TABLE tv3;
+------+------+------+----------+----------+----------+
| a    | b    | c    | column_0 | column_1 | column_2 |
+------+------+------+----------+----------+----------+
| NULL | NULL | NULL |        1 |        3 |        5 |
| NULL | NULL | NULL |        2 |        4 |        6 |
+------+------+------+----------+----------+----------+

mysql> CREATE TABLE tv4 [a INT, b INT, c INT]
     >     SELECT * FROM [VALUES ROW[1,3,5], ROW[2,4,6]] AS v[x,y,z];
mysql> TABLE tv4;
+------+------+------+---+---+---+
| a    | b    | c    | x | y | z |
+------+------+------+---+---+---+
| NULL | NULL | NULL | 1 | 3 | 5 |
| NULL | NULL | NULL | 2 | 4 | 6 |
+------+------+------+---+---+---+

mysql> CREATE TABLE tv5 [a INT, b INT, c INT]
     >     SELECT * FROM [VALUES ROW[1,3,5], ROW[2,4,6]] AS v[a,b,c];
mysql> TABLE tv5;
+------+------+------+
| a    | b    | c    |
+------+------+------+
|    1 |    3 |    5 |
|    2 |    4 |    6 |
+------+------+------+
5 cũng có thể được viết như thể hiện ở đây:

mysql> CREATE TABLE tv1 VALUES ROW[1,3,5], ROW[2,4,6];
mysql> TABLE tv1;
+----------+----------+----------+
| column_0 | column_1 | column_2 |
+----------+----------+----------+
|        1 |        3 |        5 |
|        2 |        4 |        6 |
+----------+----------+----------+

Khi sử dụng

mysql> SELECT * FROM foo;
+---+
| n |
+---+
| 1 |
+---+

mysql> CREATE TABLE bar [m INT] SELECT n FROM foo;
Query OK, 1 row affected [0.02 sec]
Records: 1  Duplicates: 0  Warnings: 0

mysql> SELECT * FROM bar;
+------+---+
| m    | n |
+------+---+
| NULL | 1 |
+------+---+
1 row in set [0.00 sec]
5 làm nguồn của
CREATE TABLE datetime_test 
AS
SELECT *
FROM [ SELECT col1, null as col2, null as col3 from table1
       union all 
       select col1, col2, col3 from table2
       union all 
       select col1, col2, null as col3 from table3 ] AS total_data;
3, tất cả các cột luôn được chọn vào bảng mới và các cột riêng lẻ không thể được chọn vì chúng có thể khi chọn từ một bảng được đặt tên; Mỗi câu sau đây tạo ra một lỗi [
mysql> CREATE TABLE tv1
     >     SELECT * FROM [VALUES ROW[1,3,5], ROW[2,4,6]] AS v;
mysql> TABLE tv1;
+----------+----------+----------+
| column_0 | column_1 | column_2 |
+----------+----------+----------+
|        1 |        3 |        5 |
|        2 |        4 |        6 |
+----------+----------+----------+

mysql> CREATE TABLE tv2
     >     SELECT * FROM [VALUES ROW[1,3,5], ROW[2,4,6]] AS v[x,y,z];
mysql> TABLE tv2;
+---+---+---+
| x | y | z |
+---+---+---+
| 1 | 3 | 5 |
| 2 | 4 | 6 |
+---+---+---+

mysql> CREATE TABLE tv3 [a INT, b INT, c INT]
     >     SELECT * FROM [VALUES ROW[1,3,5], ROW[2,4,6]] AS v[x,y,z];
mysql> TABLE tv3;
+------+------+------+----------+----------+----------+
| a    | b    | c    | column_0 | column_1 | column_2 |
+------+------+------+----------+----------+----------+
| NULL | NULL | NULL |        1 |        3 |        5 |
| NULL | NULL | NULL |        2 |        4 |        6 |
+------+------+------+----------+----------+----------+

mysql> CREATE TABLE tv4 [a INT, b INT, c INT]
     >     SELECT * FROM [VALUES ROW[1,3,5], ROW[2,4,6]] AS v[x,y,z];
mysql> TABLE tv4;
+------+------+------+---+---+---+
| a    | b    | c    | x | y | z |
+------+------+------+---+---+---+
| NULL | NULL | NULL | 1 | 3 | 5 |
| NULL | NULL | NULL | 2 | 4 | 6 |
+------+------+------+---+---+---+

mysql> CREATE TABLE tv5 [a INT, b INT, c INT]
     >     SELECT * FROM [VALUES ROW[1,3,5], ROW[2,4,6]] AS v[a,b,c];
mysql> TABLE tv5;
+------+------+------+
| a    | b    | c    |
+------+------+------+
|    1 |    3 |    5 |
|    2 |    4 |    6 |
+------+------+------+
8]:

CREATE TABLE tvx
    SELECT [x,z] FROM [VALUES ROW[1,3,5], ROW[2,4,6]] AS v[x,y,z];

CREATE TABLE tvx [a INT, c INT]
    SELECT [x,z] FROM [VALUES ROW[1,3,5], ROW[2,4,6]] AS v[x,y,z];

Tương tự, bạn có thể sử dụng câu lệnh

mysql> CREATE TABLE tv1
     >     SELECT * FROM [VALUES ROW[1,3,5], ROW[2,4,6]] AS v;
mysql> TABLE tv1;
+----------+----------+----------+
| column_0 | column_1 | column_2 |
+----------+----------+----------+
|        1 |        3 |        5 |
|        2 |        4 |        6 |
+----------+----------+----------+

mysql> CREATE TABLE tv2
     >     SELECT * FROM [VALUES ROW[1,3,5], ROW[2,4,6]] AS v[x,y,z];
mysql> TABLE tv2;
+---+---+---+
| x | y | z |
+---+---+---+
| 1 | 3 | 5 |
| 2 | 4 | 6 |
+---+---+---+

mysql> CREATE TABLE tv3 [a INT, b INT, c INT]
     >     SELECT * FROM [VALUES ROW[1,3,5], ROW[2,4,6]] AS v[x,y,z];
mysql> TABLE tv3;
+------+------+------+----------+----------+----------+
| a    | b    | c    | column_0 | column_1 | column_2 |
+------+------+------+----------+----------+----------+
| NULL | NULL | NULL |        1 |        3 |        5 |
| NULL | NULL | NULL |        2 |        4 |        6 |
+------+------+------+----------+----------+----------+

mysql> CREATE TABLE tv4 [a INT, b INT, c INT]
     >     SELECT * FROM [VALUES ROW[1,3,5], ROW[2,4,6]] AS v[x,y,z];
mysql> TABLE tv4;
+------+------+------+---+---+---+
| a    | b    | c    | x | y | z |
+------+------+------+---+---+---+
| NULL | NULL | NULL | 1 | 3 | 5 |
| NULL | NULL | NULL | 2 | 4 | 6 |
+------+------+------+---+---+---+

mysql> CREATE TABLE tv5 [a INT, b INT, c INT]
     >     SELECT * FROM [VALUES ROW[1,3,5], ROW[2,4,6]] AS v[a,b,c];
mysql> TABLE tv5;
+------+------+------+
| a    | b    | c    |
+------+------+------+
|    1 |    3 |    5 |
|    2 |    4 |    6 |
+------+------+------+
9 thay cho
CREATE TABLE datetime_test 
AS
SELECT *
FROM [ SELECT col1, null as col2, null as col3 from table1
       union all 
       select col1, col2, col3 from table2
       union all 
       select col1, col2, null as col3 from table3 ] AS total_data;
3. Điều này tuân theo các quy tắc tương tự như với
mysql> SELECT * FROM foo;
+---+
| n |
+---+
| 1 |
+---+

mysql> CREATE TABLE bar [m INT] SELECT n FROM foo;
Query OK, 1 row affected [0.02 sec]
Records: 1  Duplicates: 0  Warnings: 0

mysql> SELECT * FROM bar;
+------+---+
| m    | n |
+------+---+
| NULL | 1 |
+------+---+
1 row in set [0.00 sec]
5; Tất cả các cột của bảng nguồn và tên của chúng trong bảng nguồn luôn được đưa vào bảng mới. Ví dụ:

mysql> TABLE t1;
+----+----+
| a  | b  |
+----+----+
|  1 |  2 |
|  6 |  7 |
| 10 | -4 |
| 14 |  6 |
+----+----+

mysql> CREATE TABLE tt1 TABLE t1;
mysql> TABLE tt1;
+----+----+
| a  | b  |
+----+----+
|  1 |  2 |
|  6 |  7 |
| 10 | -4 |
| 14 |  6 |
+----+----+

mysql> CREATE TABLE tt2 [x INT] TABLE t1;
mysql> TABLE tt2;
+------+----+----+
| x    | a  | b  |
+------+----+----+
| NULL |  1 |  2 |
| NULL |  6 |  7 |
| NULL | 10 | -4 |
| NULL | 14 |  6 |
+------+----+----+

Bởi vì thứ tự của các hàng trong các câu lệnh

CREATE TABLE datetime_test 
AS
SELECT *
FROM [ SELECT col1, null as col2, null as col3 from table1
       union all 
       select col1, col2, col3 from table2
       union all 
       select col1, col2, null as col3 from table3 ] AS total_data;
3 cơ bản luôn luôn được xác định, các câu lệnh
mysql> CREATE TABLE tv1 VALUES ROW[1,3,5], ROW[2,4,6];
mysql> TABLE tv1;
+----------+----------+----------+
| column_0 | column_1 | column_2 |
+----------+----------+----------+
|        1 |        3 |        5 |
|        2 |        4 |        6 |
+----------+----------+----------+
3 và
mysql> CREATE TABLE tv1 VALUES ROW[1,3,5], ROW[2,4,6];
mysql> TABLE tv1;
+----------+----------+----------+
| column_0 | column_1 | column_2 |
+----------+----------+----------+
|        1 |        3 |        5 |
|        2 |        4 |        6 |
+----------+----------+----------+
4 được gắn cờ là không an toàn cho sao chép dựa trên câu lệnh. Các câu lệnh như vậy tạo ra cảnh báo trong nhật ký lỗi khi sử dụng chế độ dựa trên câu lệnh và được ghi vào nhật ký nhị phân bằng định dạng dựa trên hàng khi sử dụng chế độ
mysql> CREATE TABLE tv1 VALUES ROW[1,3,5], ROW[2,4,6];
mysql> TABLE tv1;
+----------+----------+----------+
| column_0 | column_1 | column_2 |
+----------+----------+----------+
|        1 |        3 |        5 |
|        2 |        4 |        6 |
+----------+----------+----------+
5. Xem thêm Phần & NBSP; 17.2.1.1, Ưu điểm và nhược điểm của bản sao dựa trên tuyên bố và dựa trên hàng.

CREATE TABLE new_tbl [AS] SELECT * FROM orig_tbl;
9 không tự động tạo bất kỳ chỉ mục nào cho bạn. Điều này được thực hiện có chủ ý để làm cho tuyên bố linh hoạt nhất có thể. Nếu bạn muốn có các chỉ mục trong bảng đã tạo, bạn nên chỉ định những điều này trước câu lệnh
CREATE TABLE datetime_test 
AS
SELECT *
FROM [ SELECT col1, null as col2, null as col3 from table1
       union all 
       select col1, col2, col3 from table2
       union all 
       select col1, col2, null as col3 from table3 ] AS total_data;
3:

mysql> CREATE TABLE bar [UNIQUE [n]] SELECT n FROM foo;

Đối với

mysql> CREATE TABLE tv1 VALUES ROW[1,3,5], ROW[2,4,6];
mysql> TABLE tv1;
+----------+----------+----------+
| column_0 | column_1 | column_2 |
+----------+----------+----------+
|        1 |        3 |        5 |
|        2 |        4 |        6 |
+----------+----------+----------+
8, bảng đích không lưu giữ thông tin về việc các cột trong bảng được chọn-từ có được tạo ra hay không. Phần
CREATE TABLE datetime_test 
AS
SELECT *
FROM [ SELECT col1, null as col2, null as col3 from table1
       union all 
       select col1, col2, col3 from table2
       union all 
       select col1, col2, null as col3 from table3 ] AS total_data;
3 của câu lệnh không thể gán các giá trị cho các cột được tạo trong bảng đích.

Đối với

mysql> CREATE TABLE tv1 VALUES ROW[1,3,5], ROW[2,4,6];
mysql> TABLE tv1;
+----------+----------+----------+
| column_0 | column_1 | column_2 |
+----------+----------+----------+
|        1 |        3 |        5 |
|        2 |        4 |        6 |
+----------+----------+----------+
8, bảng đích không lưu giữ các giá trị mặc định biểu thức từ bảng gốc.

Một số chuyển đổi các loại dữ liệu có thể xảy ra. Ví dụ, thuộc tính

CREATE TABLE tvx
    SELECT [x,z] FROM [VALUES ROW[1,3,5], ROW[2,4,6]] AS v[x,y,z];

CREATE TABLE tvx [a INT, c INT]
    SELECT [x,z] FROM [VALUES ROW[1,3,5], ROW[2,4,6]] AS v[x,y,z];
1 không được bảo tồn và các cột
CREATE TABLE tvx
    SELECT [x,z] FROM [VALUES ROW[1,3,5], ROW[2,4,6]] AS v[x,y,z];

CREATE TABLE tvx [a INT, c INT]
    SELECT [x,z] FROM [VALUES ROW[1,3,5], ROW[2,4,6]] AS v[x,y,z];
2 có thể trở thành cột
CREATE TABLE tvx
    SELECT [x,z] FROM [VALUES ROW[1,3,5], ROW[2,4,6]] AS v[x,y,z];

CREATE TABLE tvx [a INT, c INT]
    SELECT [x,z] FROM [VALUES ROW[1,3,5], ROW[2,4,6]] AS v[x,y,z];
3. Các thuộc tính được đào tạo là
CREATE TABLE tvx
    SELECT [x,z] FROM [VALUES ROW[1,3,5], ROW[2,4,6]] AS v[x,y,z];

CREATE TABLE tvx [a INT, c INT]
    SELECT [x,z] FROM [VALUES ROW[1,3,5], ROW[2,4,6]] AS v[x,y,z];
4 [hoặc
CREATE TABLE tvx
    SELECT [x,z] FROM [VALUES ROW[1,3,5], ROW[2,4,6]] AS v[x,y,z];

CREATE TABLE tvx [a INT, c INT]
    SELECT [x,z] FROM [VALUES ROW[1,3,5], ROW[2,4,6]] AS v[x,y,z];
5] và, đối với các cột có chúng,
CREATE TABLE tvx
    SELECT [x,z] FROM [VALUES ROW[1,3,5], ROW[2,4,6]] AS v[x,y,z];

CREATE TABLE tvx [a INT, c INT]
    SELECT [x,z] FROM [VALUES ROW[1,3,5], ROW[2,4,6]] AS v[x,y,z];
6,
CREATE TABLE tvx
    SELECT [x,z] FROM [VALUES ROW[1,3,5], ROW[2,4,6]] AS v[x,y,z];

CREATE TABLE tvx [a INT, c INT]
    SELECT [x,z] FROM [VALUES ROW[1,3,5], ROW[2,4,6]] AS v[x,y,z];
7,
CREATE TABLE tvx
    SELECT [x,z] FROM [VALUES ROW[1,3,5], ROW[2,4,6]] AS v[x,y,z];

CREATE TABLE tvx [a INT, c INT]
    SELECT [x,z] FROM [VALUES ROW[1,3,5], ROW[2,4,6]] AS v[x,y,z];
8 và mệnh đề
CREATE TABLE tvx
    SELECT [x,z] FROM [VALUES ROW[1,3,5], ROW[2,4,6]] AS v[x,y,z];

CREATE TABLE tvx [a INT, c INT]
    SELECT [x,z] FROM [VALUES ROW[1,3,5], ROW[2,4,6]] AS v[x,y,z];
9.

Khi tạo một bảng với

mysql> CREATE TABLE test [a INT NOT NULL AUTO_INCREMENT,
    ->        PRIMARY KEY [a], KEY[b]]
    ->        ENGINE=InnoDB SELECT b,c FROM test2;
4, hãy đảm bảo bí danh bất kỳ cuộc gọi hoặc biểu thức chức năng nào trong truy vấn. Nếu bạn không, câu lệnh
mysql> TABLE t1;
+----+----+
| a  | b  |
+----+----+
|  1 |  2 |
|  6 |  7 |
| 10 | -4 |
| 14 |  6 |
+----+----+

mysql> CREATE TABLE tt1 TABLE t1;
mysql> TABLE tt1;
+----+----+
| a  | b  |
+----+----+
|  1 |  2 |
|  6 |  7 |
| 10 | -4 |
| 14 |  6 |
+----+----+

mysql> CREATE TABLE tt2 [x INT] TABLE t1;
mysql> TABLE tt2;
+------+----+----+
| x    | a  | b  |
+------+----+----+
| NULL |  1 |  2 |
| NULL |  6 |  7 |
| NULL | 10 | -4 |
| NULL | 14 |  6 |
+------+----+----+
1 có thể thất bại hoặc dẫn đến tên cột không mong muốn.

CREATE TABLE datetime_test 
AS
SELECT *
FROM [ SELECT col1, null as col2, null as col3 from table1
       union all 
       select col1, col2, col3 from table2
       union all 
       select col1, col2, null as col3 from table3 ] AS total_data;
0

Bạn cũng có thể chỉ định rõ ràng kiểu dữ liệu cho một cột trong bảng đã tạo:

CREATE TABLE datetime_test 
AS
SELECT *
FROM [ SELECT col1, null as col2, null as col3 from table1
       union all 
       select col1, col2, col3 from table2
       union all 
       select col1, col2, null as col3 from table3 ] AS total_data;
1

Đối với

mysql> TABLE t1;
+----+----+
| a  | b  |
+----+----+
|  1 |  2 |
|  6 |  7 |
| 10 | -4 |
| 14 |  6 |
+----+----+

mysql> CREATE TABLE tt1 TABLE t1;
mysql> TABLE tt1;
+----+----+
| a  | b  |
+----+----+
|  1 |  2 |
|  6 |  7 |
| 10 | -4 |
| 14 |  6 |
+----+----+

mysql> CREATE TABLE tt2 [x INT] TABLE t1;
mysql> TABLE tt2;
+------+----+----+
| x    | a  | b  |
+------+----+----+
| NULL |  1 |  2 |
| NULL |  6 |  7 |
| NULL | 10 | -4 |
| NULL | 14 |  6 |
+------+----+----+
2, nếu
mysql> TABLE t1;
+----+----+
| a  | b  |
+----+----+
|  1 |  2 |
|  6 |  7 |
| 10 | -4 |
| 14 |  6 |
+----+----+

mysql> CREATE TABLE tt1 TABLE t1;
mysql> TABLE tt1;
+----+----+
| a  | b  |
+----+----+
|  1 |  2 |
|  6 |  7 |
| 10 | -4 |
| 14 |  6 |
+----+----+

mysql> CREATE TABLE tt2 [x INT] TABLE t1;
mysql> TABLE tt2;
+------+----+----+
| x    | a  | b  |
+------+----+----+
| NULL |  1 |  2 |
| NULL |  6 |  7 |
| NULL | 10 | -4 |
| NULL | 14 |  6 |
+------+----+----+
3 được đưa ra và bảng đích tồn tại, không có gì được chèn vào bảng đích và câu lệnh không được ghi lại.

Để đảm bảo rằng nhật ký nhị phân có thể được sử dụng để tạo lại các bảng gốc, MySQL không cho phép chèn đồng thời trong

CREATE TABLE new_tbl [AS] SELECT * FROM orig_tbl;
9. Tuy nhiên, trước MySQL 8.0.21, khi hoạt động
CREATE TABLE new_tbl [AS] SELECT * FROM orig_tbl;
9 được áp dụng từ nhật ký nhị phân khi sao chép dựa trên hàng được sử dụng, các phần chèn đồng thời được cho phép trên bảng sao chép trong khi sao chép dữ liệu. Giới hạn đó được loại bỏ trong MySQL 8.0.21 trên các công cụ lưu trữ hỗ trợ DDL nguyên tử. Để biết thêm thông tin, xem Phần & NBSP; 13.1.1, Câu lệnh xác định dữ liệu nguyên tử hỗ trợ.

Bạn không thể sử dụng

mysql> TABLE t1;
+----+----+
| a  | b  |
+----+----+
|  1 |  2 |
|  6 |  7 |
| 10 | -4 |
| 14 |  6 |
+----+----+

mysql> CREATE TABLE tt1 TABLE t1;
mysql> TABLE tt1;
+----+----+
| a  | b  |
+----+----+
|  1 |  2 |
|  6 |  7 |
| 10 | -4 |
| 14 |  6 |
+----+----+

mysql> CREATE TABLE tt2 [x INT] TABLE t1;
mysql> TABLE tt2;
+------+----+----+
| x    | a  | b  |
+------+----+----+
| NULL |  1 |  2 |
| NULL |  6 |  7 |
| NULL | 10 | -4 |
| NULL | 14 |  6 |
+------+----+----+
6 như một phần của
CREATE TABLE datetime_test 
AS
SELECT *
FROM [ SELECT col1, null as col2, null as col3 from table1
       union all 
       select col1, col2, col3 from table2
       union all 
       select col1, col2, null as col3 from table3 ] AS total_data;
3 trong một câu lệnh như
mysql> TABLE t1;
+----+----+
| a  | b  |
+----+----+
|  1 |  2 |
|  6 |  7 |
| 10 | -4 |
| 14 |  6 |
+----+----+

mysql> CREATE TABLE tt1 TABLE t1;
mysql> TABLE tt1;
+----+----+
| a  | b  |
+----+----+
|  1 |  2 |
|  6 |  7 |
| 10 | -4 |
| 14 |  6 |
+----+----+

mysql> CREATE TABLE tt2 [x INT] TABLE t1;
mysql> TABLE tt2;
+------+----+----+
| x    | a  | b  |
+------+----+----+
| NULL |  1 |  2 |
| NULL |  6 |  7 |
| NULL | 10 | -4 |
| NULL | 14 |  6 |
+------+----+----+
8 Chọn ... từ
mysql> TABLE t1;
+----+----+
| a  | b  |
+----+----+
|  1 |  2 |
|  6 |  7 |
| 10 | -4 |
| 14 |  6 |
+----+----+

mysql> CREATE TABLE tt1 TABLE t1;
mysql> TABLE tt1;
+----+----+
| a  | b  |
+----+----+
|  1 |  2 |
|  6 |  7 |
| 10 | -4 |
| 14 |  6 |
+----+----+

mysql> CREATE TABLE tt2 [x INT] TABLE t1;
mysql> TABLE tt2;
+------+----+----+
| x    | a  | b  |
+------+----+----+
| NULL |  1 |  2 |
| NULL |  6 |  7 |
| NULL | 10 | -4 |
| NULL | 14 |  6 |
+------+----+----+
9 .... Nếu bạn cố gắng làm như vậy, câu lệnh không thành công.

mysql> CREATE TABLE test [a INT NOT NULL AUTO_INCREMENT,
    ->        PRIMARY KEY [a], KEY[b]]
    ->        ENGINE=InnoDB SELECT b,c FROM test2;
4 Các hoạt động chỉ áp dụng các giá trị
mysql> CREATE TABLE bar [UNIQUE [n]] SELECT n FROM foo;
1 và
mysql> CREATE TABLE bar [UNIQUE [n]] SELECT n FROM foo;
2 cho các cột. Bảng và chỉ mục
mysql> CREATE TABLE bar [UNIQUE [n]] SELECT n FROM foo;
1 và
mysql> CREATE TABLE bar [UNIQUE [n]] SELECT n FROM foo;
2 không được áp dụng cho bảng mới trừ khi được chỉ định một cách rõ ràng.

Làm cách nào để thêm một bảng mới vào một bảng hiện có trong MySQL?

Bạn có thể tạo một bảng này từ một bảng khác bằng cách thêm câu lệnh CHỌN ở cuối câu lệnh CREATE TABLE: Tạo bảng new_tbl [như] chọn * từ orig_tbl; MySQL tạo các cột mới cho tất cả các phần tử trong chọn.adding a SELECT statement at the end of the CREATE TABLE statement: CREATE TABLE new_tbl [AS] SELECT * FROM orig_tbl; MySQL creates new columns for all elements in the SELECT .

Làm cách nào để tạo một bảng mới bằng cách tham gia hai bảng trong SQL?

Trả lời: Để thực hiện điều này, SQL CREATE BẢNG Cú pháp là: Tạo bảng new_table as [chọn * từ old_table WHERE 1 = 2];Ví dụ: Tạo nhà cung cấp bảng là [chọn * từ các công ty trong đó 1 = 2];CREATE TABLE new_table AS [SELECT * FROM old_table WHERE 1=2]; For example: CREATE TABLE suppliers AS [SELECT * FROM companies WHERE 1=2];

Làm cách nào để thêm một bảng mới vào một bảng hiện có?

Một bản sao của một bảng hiện có có thể được tạo bằng cách sử dụng kết hợp câu lệnh CREATE TABLE và câu lệnh CHỌN.Bảng mới có cùng định nghĩa cột.Tất cả các cột hoặc các cột cụ thể có thể được chọn.using a combination of the CREATE TABLE statement and the SELECT statement. The new table has the same column definitions. All columns or specific columns can be selected.

Làm thế nào có thể chèn dữ liệu vào hai bảng đồng thời trong MySQL?

Không, bạn không thể chèn vào nhiều bảng trong một lệnh MySQL.Tuy nhiên, bạn có thể sử dụng các giao dịch.BẮT ĐẦU;Chèn vào giá trị người dùng [tên người dùng, mật khẩu] ['kiểm tra', 'kiểm tra'];Chèn vào các giá trị hồ sơ [userid, bio, homePage] [last_insert_id [], 'Xin chào thế giới!you can't insert into multiple tables in one MySQL command. You can however use transactions. BEGIN; INSERT INTO users [username, password] VALUES['test', 'test']; INSERT INTO profiles [userid, bio, homepage] VALUES[LAST_INSERT_ID[],'Hello world!

Bài Viết Liên Quan

Chủ Đề