我想在一個MySQL數據庫重命名錶,從PHP,但是這個代碼不工作:RENAME TABLE/ALTER TABLE不工作
$sql = "RENAME TABLE dbname.table TO dbname.tabletmp;";
$conn->query($sql);
我試圖也用ALTER TABLE
或表名爲''
,但沒有。有任何想法嗎?
看來,在PHP ALTER TABLE
不是命令:/
我想在一個MySQL數據庫重命名錶,從PHP,但是這個代碼不工作:RENAME TABLE/ALTER TABLE不工作
$sql = "RENAME TABLE dbname.table TO dbname.tabletmp;";
$conn->query($sql);
我試圖也用ALTER TABLE
或表名爲''
,但沒有。有任何想法嗎?
看來,在PHP ALTER TABLE
不是命令:/
試試這個
$sql = "RENAME TABLE `" . $oldname . "` TO `" . $newname . "`" ;
$conn->query($sql);
爲什麼要這樣工作? – axiac
看來,在PHP ALTER TABLE不是命令:/
PHP不關心SQL。即使$conn->query()
關心它。你傳遞一個字符串並將其傳遞給服務器。
確保您使用連接的用戶有必要的權限重命名錶。 documentation of RENAME TABLE
說:
當您執行
RENAME TABLE
時,您不能有任何鎖定表或活動事務。您還必須擁有原始表上的ALTER
和DROP
權限以及新表上的CREATE
和INSERT
權限。
你得到一些異常或錯誤信息? 重命名錶語法看起來很好。更改表格不能用於重命名錶格。 –
你收到任何錯誤信息? –
這【答案】(https://stackoverflow.com/a/37786534/5513005)可以幫助你的 –