Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 自动复制表结构并更改表名mysql_Php_Mysql - Fatal编程技术网

Php 自动复制表结构并更改表名mysql

Php 自动复制表结构并更改表名mysql,php,mysql,Php,Mysql,所以基本上我在MySQL中有一个数据库,它有一组表,这些表有许多不同的名称,例如“table\u data”,我想通过添加例如“\u city”来复制和重命名所有这些表,所以它将是:“table\u data\u city”,关于如何用一个简单的脚本来实现这一点有什么想法吗? 请注意,我只想复制结构。试试这段php代码 <?php $conn=mysqli_connect("localhost","root","","db_name"); $query="SELECT table_name

所以基本上我在MySQL中有一个数据库,它有一组表,这些表有许多不同的名称,例如“
table\u data
”,我想通过添加例如“
\u city
”来复制和重命名所有这些表,所以它将是:“
table\u data\u city
”,关于如何用一个简单的脚本来实现这一点有什么想法吗? 请注意,我只想复制结构。

试试这段php代码

<?php
$conn=mysqli_connect("localhost","root","","db_name");
$query="SELECT table_name FROM information_schema.tables where table_schema='db_name';";

$result=mysqli_query($conn,$query);
$tables=array();
while ($row=mysqli_fetch_array($result)) {
    $query="RENAME TABLE ".$row[0]." TO ".$row[0]."_city";
    mysqli_query($conn,$query);
}

不,我不知道怎么做,我知道如何在phpmyadmin中手动完成,但这会花费很多时间,因为我有很多表。。。我想知道是否有一种方法可以自动完成。哇,一个有一堆表的数据库,谁会想到?!你什么意思?多少张桌子是多少?导出表结构、打开编辑器并将
\u city
添加到每个表中可能比编写脚本更快。大约120个表,因为它有许多不同的名称,所以无法工作,这意味着我必须键入新名称并搜索以替换它,这与在phpmyadminty中执行相同,您的脚本不会复制,但会更改名称,因此我将只复制不同数据库中的表,然后重命名它们,然后将它们连接到原始数据库。我有一个小问题,它不会用这些名称更改表的名称:“table log”,但如果它的“table_log”有效,有什么解决方案吗?修复了它只是引用问题$query='RENAME TABLE
。$row[0]。
。$row[0]。''u city
';太多了!