2015-03-25 95 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