我试图从PHP重命名Mysql数据库中的表,但这段代码不起作用:
$sql = "RENAME TABLE dbname.table TO dbname.tabletmp;";
$conn->query($sql);
我还尝试使用ALTER TABLE
或''
作为表名,但没有。有任何想法吗?
似乎在PHP ALTER TABLE
中没有命令:/
答案 0 :(得分:0)
似乎在PHP ALTER TABLE中不是命令:/
PHP不关心SQL。甚至$conn->query()
都不关心它。您传递一个字符串,然后将其进一步传递给服务器。
确保您用于连接的用户具有重命名表所需的权限。 documentation of RENAME TABLE
说:
执行
RENAME TABLE
时,您不能拥有任何锁定的表或活动的事务。您还必须拥有原始表上的ALTER
和DROP
权限,以及新表上的CREATE
和INSERT
权限。
答案 1 :(得分:-1)
试试这个
$sql = "RENAME TABLE `" . $oldname . "` TO `" . $newname . "`" ;
$conn->query($sql);