我正在使用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
任何人都可以帮助我?
答案 0 :(得分:2)
我认为您错过了 ALTER TABLE 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
检查此答案:How to reset AUTO_INCREMENT in MySQL?
如果你想要的是重新列出所有行中的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并重新放置它 对外关系,这将打破它!
希望它有所帮助!