我正在使用MySQL。我试过这个:
SET @num := 0; UPDATE rancangan_bulanan SET id = @num := (@num+1);
但是使用$this->db->query( "SET @num := 0; UPDATE rancangan_bulanan SET id = @num := (@num+1);
并不能给出预期的结果。
它显示:
Error Number: 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'UPDATE rancangan_bulanan SET id = @num := (@num+1)' at line 1
SET @num := 0; UPDATE rancangan_bulanan SET id = @num := (@num+1);
Filename: C:/xampp/htdocs/belajar/rkape/system/database/DB_driver.php
Line Number: 691
有人可以帮助我吗?
我认为
您错过了 ALTER 表 your_table AUTO_INCREMENT =1;
SET @num := 0;
UPDATE rancangan_bulanan SET id = @num := (@num+1);
ALTER TABLE rancangan_bulanan AUTO_INCREMENT =1;
或者,如果要将计数器重置为 1,可以使用:
ALTER TABLE rancangan_bulanan AUTO_INCREMENT = 1
检查这个答案: 如何在 MySQL 中重置AUTO_INCREMENT?
如果您想要的是重新确定所有行中的 ID,则可以使用:
ALTER TABLE rancangan_bulanan DROP id
ALTER TABLE rancangan_bulanan ADD id INT NOT NULL AUTO_INCREMENT FIRST, ADD PRIMARY KEY (id), AUTO_INCREMENT=1
当心!!!这将删除所有 id 并重新确定它(如果您有( 对外关系,这会破坏它!
希望对您有所帮助!