【问题标题】:When Renaming table name, it is actually dropping table from Mysql - Using PHP重命名表名时,实际上是从 Mysql 中删除表 - 使用 PHP
【发布时间】:2021-10-28 23:16:11
【问题描述】:

尝试重命名表名时,我的 PHP 脚本遇到了一个非常奇怪的问题。它没有重命名它,而是删除它。

背景信息:

  1. 我正在浏览器上运行脚本
  2. 在删除原始表后立即重命名为原始表名。

代码示例:

$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_$tableSuffixtesting_$tableSuffix2 正在删除并被删除。

【问题讨论】:

  • 如果您运行脚本两次,您会看到完全一样的内容。没有表,第二次重命名会失败。
  • 哦,对不起,我忘了提到在此之前我也在另一个函数中创建表。让我更新一下我的描述。
  • 如果您只是想有效地删除表中的所有数据,只需执行TRUNCATE TABLE some_table;

标签: php mysql table-rename


【解决方案1】:

看起来我发现了这个错误。尚不确定为什么它仅在 Chrome 而不是 Safari 上发生。我的脚本在 2 秒内在 Chrome 上运行了 2 个实例,但在 Safari 上不会发生此问题。

【讨论】:

  • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
猜你喜欢
  • 2015-07-26
  • 1970-01-01
  • 1970-01-01
  • 2019-01-10
  • 1970-01-01
  • 1970-01-01
  • 2010-11-17
  • 2016-01-21
  • 2012-09-20
相关资源
最近更新 更多