【发布时间】:2021-10-28 23:16:11
【问题描述】:
尝试重命名表名时,我的 PHP 脚本遇到了一个非常奇怪的问题。它没有重命名它,而是删除它。
背景信息:
- 我正在浏览器上运行脚本
- 在删除原始表后立即重命名为原始表名。
代码示例:
$tableSuffix = "1";
$tableSuffix2 = "2";
// This table already exists "testing_$tableSuffix LIKE template_testing"
// This is being created
CREATE TABLE testing_$tableSuffix2 LIKE template_testing
$queryString = "DROP TABLE testing_$tableSuffix";
$query = $db->query($queryString);
$queryString = "RENAME TABLE testing_$tableSuffix2 TO testing_$tableSuffix";
$query = $db->query($queryString);
重命名没有发生,testing_$tableSuffix 和 testing_$tableSuffix2 正在删除并被删除。
【问题讨论】:
-
如果您运行脚本两次,您会看到完全一样的内容。没有表,第二次重命名会失败。
-
哦,对不起,我忘了提到在此之前我也在另一个函数中创建表。让我更新一下我的描述。
-
如果您只是想有效地删除表中的所有数据,只需执行
TRUNCATE TABLE some_table;
标签: php mysql table-rename