Töm tabellen med DELETE from tabellen. Mata in en rad med 0 satt i kolumnen med auto_increment. När nya rader kommit in kan du ta bort 0-raden.
Bara en idé, men med tanke på hur MySQLs auto_increment funkar så borde det funka.
12 svar · 527 visningar · startad av Swey
Har man en kolumn med auto_increment så ökar den ju för varje ny rad. Om tabellen är tom kan nästa index bli över 1 eftersom det fanns rader där innan som hade över 1. Hur gör man för att nollställa den så att den börjar om från noll?
DELETE FROM table
borde fungera och göra så att alla rader försvinner och auto_increment nollställs. Men DELETE FROM gör istället så att hela tabellen försvinner och det är ju helt fel.
Jag vill alltså börja om en viss auto_incrment på noll.
Töm tabellen med DELETE from tabellen. Mata in en rad med 0 satt i kolumnen med auto_increment. När nya rader kommit in kan du ta bort 0-raden.
Bara en idé, men med tanke på hur MySQLs auto_increment funkar så borde det funka.
'DELETE FROM table' borde fungera och göra så att alla rader försvinner och auto_increment nollställs. Men DELETE FROM gör istället så att hela tabellen försvinner och det är ju helt fel.
DELETE FROM table
är samma sak som
DROP TABLE table
Är det en bugg i min version?
Ja, det låter väldigt konstigt!
Du får försöka kringgå detta genom att lägga till ett WHERE-villkor.
DELETE from tabell where villkor som alla poster uppfyller
DELETE FROM och DROP TABLE är verkligen inte samma sak..
DROP TABLE tar bort hela tabellen, medans DELETE FROM tömmer tabellen på data men lämnar tabell-strukturen kvar!
Då är det en mycket allvarlig bug.
Menar Du att DELETE FROM tar bort en tabell medans DROP TABLE raderar data ur en tabell!?
Med andra ord är det DELETE FROM $tabell WHERE id=X som raderar en hel tabell-struktur!?
Har jag aldrig varit med om.. Vilken version kör Du!?
E:\mysql\bin>mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 70 to server version: 3.23.19-beta
Type 'help' for help.
mysql> use testdb
Database changed
mysql> show tables;
+------------------+
| Tables_in_testdb |
+------------------+
| testtabell |
+------------------+
1 row in set (0.02 sec)
mysql> create table a (id int);
Query OK, 0 rows affected (0.03 sec)
mysql> show tables;
+------------------+
| Tables_in_testdb |
+------------------+
| a |
| testtabell |
+------------------+
2 rows in set (0.00 sec)
mysql> delete from a;
Query OK, 0 rows affected (0.03 sec)
mysql> show tables;
+------------------+
| Tables_in_testdb |
+------------------+
| testtabell |
+------------------+
1 row in set (0.00 sec)
Så funkar det inte på mitt webhotell (något Linux):
Your MySQL connection id is 149701 to server version: 3.22.32
/nicclas http://www.nic-sys.se/ (Matti's startsida )
Jag kör på följande versioner:
3.22.32
3.22.24
3.22.22
Och på alla dessa fungerar det som det ska..