2015-03-25 54 views
0

我想通過合併兩個表名來創建表。通過合併/連接兩個表名創建空白表

表1 - 用戶

表2 - 命名

所以,我要創建一個表userName的

如何實現這個結果?

SQL QUERY:CREATE TABLE?

我正在使用phpmysqli_query()執行查詢。我如何連接兩個表名以在mysql中創建一個新表?

表名在$table1$table2

連接 - $conn

如何指定表的模式? 查詢:CREATE TABLE ? (schema); 我想更換?通過合併兩個表名獲得表名。就是用戶名

回答

1

你可以這樣做:

$sql = "CREATE TABLE " . $table1 . $table2 . " (ID INT NOT NULL)"; 

或者是這樣的:

CREATE TABLE userName SELECT * FROM user, name; 

您可以通過在CREATE TABLE語句的末尾添加一個SELECT語句生成另一個表:

CREATE TABLE new_tbl [AS] SELECT * FROM orig_tbl; 

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) 

對於表foo中的每一行,將一行插入到bar中,其值爲foo和新列的默認值。

您可以閱讀更多關於這一點:

https://dev.mysql.com/doc/refman/5.0/en/create-table-select.html

+0

我想創建一個表與用戶即與名稱的兩個表名級聯表名。我想創建一個空白表'userName',裏面沒有任何數據?我如何指定模式?我不想在裏面創建任何數據。查詢結果應該創建一個表userName。 – psychoCoder 2015-03-25 04:57:26

+0

@psychoCoder好的,等一下 – 2015-03-25 04:59:03

+0

@psychoCoder以及爲什麼你不創建CREATE TABLE $ table1。 $ table2 – 2015-03-25 05:19:50