使用SHOW CREATE TABLE创建一个包含php和mysql的表

时间:2011-11-24 04:55:42

标签: php mysql

我正在尝试使用SHOW CREATE TABLE通过php创建另一个表的精确副本。

我只想更改表名,但我还没想出怎么做。如果旧表的名称是table_1,我希望新表名为table_2。

这不起作用。没想到它,但那是我得到了多远:

 $t = $DB->fetch("SHOW CREATE TABLE table_1");
    $t[0] = "table_2";
    $DB->query($t[1]);

2 个答案:

答案 0 :(得分:2)

以下查询将创建新表,列属性和索引也将被复制。

CREATE TABLE new_table_name LIKE old_table_name;

如果您还想复制行,则在执行上述

后执行以下查询
INSERT INTO new_table_name SELECT * FROM `old_table_name`;

http://www.mysqlfaqs.net/mysql-faqs/Data-Back-Up/How-to-create-duplicate-table-in-MySQL

http://www.tech-recipes.com/rx/1487/copy-an-existing-mysql-table-to-a-new-table/

答案 1 :(得分:0)

<?php
$result=mysql_query("SHOW TABLES");
$oldTableName="TABLE1";
$found=false;
while($row=mysql_fetch_array($result))
{
    if($row[0]==$oldTableName)
        {
            $found=true;
            break;
        }
}

if($found)
    {
        //TODO Code for table1
    }
else
{
        //TODO Code for table2
}



?>