我想将我的ID从1重置为最大值,因为我需要多次更新表格,因此我可能会将ID大于ID
列的最大值。
例如,有时我的ID 2842719402837
太大,无法在我的ID
列中输入(INTEGER,长度为11)。
我使用此查询将ID从1重置为最大值:
SET @num := 0;
UPDATE riepilogo SET id = @num := (@num+1);
ALTER TABLE riepilogo AUTO_INCREMENT =1;
在这里你可以找到我得到SQL的答案:Click Here
虽然它在phpMyAdmin上运行得很好,但它不能使用PHP。
我使用此代码执行查询:
$sql = "SET @num := 0;
UPDATE riepilogo SET id = @num := (@num+1);
ALTER TABLE riepilogo AUTO_INCREMENT =1;";
$result = $conn->query($sql);
if(!$result) die("MySQL Error : ".$sql."<br>Error : ".$conn->error);
当然我已经设置了$conn
变量,但我收到以下错误:
MySQL错误: SET @num:= 0;更新riepilogo SET id = @num:=(@ num + 1); ALTER TABLE riepilogo AUTO_INCREMENT = 1;
错误:SQL语法中有错误;检查与您的MariaDB服务器版本相对应的手册,以便在&nbsp;更新后使用正确的语法riepilogo SET id = @num:=(@ num + 1); ALTER TABLE riepilogo AUTO _&#39;在第2行
因此,此查询正在使用phpMyAdmin的SQL控制台,但它没有使用PHP执行它。
我究竟做错了什么?非常感谢!
答案 0 :(得分:0)
您可以使用BIGINT datatyppe而不是INT
根据您的要求,使用以下代码重置AUTO_INCREMENT,
$sql = "ALTER TABLE riepilogo AUTO_INCREMENT = 1";
$result = $conn->query($sql);
if(!$result) die("MySQL Error : ".$sql."<br>Error : ".$conn->error);