Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [SQL] Pomijanie wpisów przy autoincrement
moa
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 16.12.2008

Ostrzeżenie: (0%)
-----


Witam, chciałbym stworzyć tabelę gdzie 4 wpisy miałyby ID ustawione na 200 000, 200 001, 200 002, 200 003.

Czy jest mozliwosc by autoincrement je ignorował przy dodawaniu nowych wpisów?

Czyli np. gdy inny wpis ma ID 1, tak jak dodam nastepny by ten nowy mial ID 2 a nie 200 004


Jeśli tak to prosze o pomoc happy.gif

Z góry dziękuje! wub.gif
Go to the top of the page
+Quote Post
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




http://forums.mysql.com/read.php?22,42817,42831

Ale spowoduje to, że przy 200k rekordów zaczną Ci się one nadpisywać. Ogólnie, takie coś, co wymyśliłeś, to raczezj nie jest dobry pomysł.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
moa
post
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 16.12.2008

Ostrzeżenie: (0%)
-----


to nie działa, następny news ma ID 200 004
Go to the top of the page
+Quote Post
erix
post
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Wysil się trochę, prawdopodobnie masz w tabeli silnik MyISAM, a to jest kod dla InnoDB. Wysil się i poszukaj w Google.

W phpMyAdmin jest też odpowiednia opcja.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
moa
post
Post #5





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 16.12.2008

Ostrzeżenie: (0%)
-----


Jest w operations opcja auto_increment gdzie inputem sie podaje nową wartość lecz to działa tak że mysql najpierw sprawdza czy nie ma wpisow o wartosci wyzszej, a jesli są to ustawia odpowiednio auto increment
Go to the top of the page
+Quote Post
erix
post
Post #6





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Fakt, mój błąd, posty do wywalenia.

Z tego, co wyczytałem, to bierze MAX(kolumna)+1 i przy auto_increment nie da się tego obejść. IMHO robienie takiej dziury trochę mija się z celem, ale nie wiem, co chcesz przez to osiągnąć.

Jeśli już koniecznie chcesz od dołu, to musisz podawać wartość tej kolumny ręcznie:
  1. SET @x = (SELECT max(id) FROM asd WHERE id <200);
  2.  
  3. INSERT INTO asd VALUES (@x, 'asdasd');


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
nevt
post
Post #7





Grupa: Przyjaciele php.pl
Postów: 1 595
Pomógł: 282
Dołączył: 24.09.2007
Skąd: Reda, Pomorskie.

Ostrzeżenie: (0%)
-----


a dlaczego koniecznie i na siłę:
Cytat
...gdzie 4 wpisy miałyby ID ustawione na 200 000, 200 001, 200 002, 200 003...

questionmark.gif

nie możesz zapisać tych rekordów jako 4 pierwszysch w tabeli (ID:0, 1, 2, 3) a potem niech sobie autoincrement robi co chce...


--------------------

-
Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... -
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 07:46