gpt4 book ai didi

php - 在 php 中重置表 AUTO INCREMENT

转载 作者:行者123 更新时间:2023-11-29 03:22:48 27 4
gpt4 key购买 nike

我有一个数据库,它必须在其 id 列中维护严格的主键数字序列。即 1、2、3、4、5 等。

现在,当我删除一行时,我需要使用以下方法进行重新计数和增量重置:

SET @count = 0; 
UPDATE `Main`
SET `id` = @count:= @count + 1;
ALTER TABLE Main
AUTO_INCREMENT =1;

这在 MySQL 命令行中输入时工作正常,这正是我想要的,但是我需要从 PHP 脚本命令中执行它。我使用:

$sql="SET @count = 0"; 
$result=$database->query($sql);
$sql="UPDATE Main SET id = @count:= @count + 1";
$result=$database->query($sql);
$sql="ALTER TABLE Main AUTO_INCREMENT =1";
$result=$database->query($sql);

现在前两个重新计数行工作正常,但 AUTO_INCREMENT 行不会重置自动递增计数器。同样,"ALTER TABLE Main AUTO_INCREMENT =1;" 可以直接从 MySQL 命令行正常工作,但在通过 PHP 脚本执行时却不行。

注意:数据库使用mysqli_query命令。

最佳答案

好的,我找到了。AUTO_INCREMENT 驻留在“information_schema.tables”数据库中,我的用户对该表只有“USAGE”权限。在授予“ALTER”特权的情况下,它可以正常工作。谢谢。

关于php - 在 php 中重置表 AUTO INCREMENT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41205912/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com