![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 0 Dołączył: 14.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
W bazie mam istniejący rekord. Chciałbym mu nadać nową wartość ID. Moje pole ID to primary_key i auto_increment. Chciałbym mu nadać nowe
ID według auto_increment bez usuwania go. Czy to w ogóle możliwe? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 161 Pomógł: 25 Dołączył: 6.09.2008 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Czy napisanie posta na forum i czekanie aż ktoś odpowie na prawdę zajmuje mniej czasu niż napisanie jednego zapytania i sprawdzenie? Odpowiedź na Twoje pytanie brzmi tak, da się to zrobić (zakładam, że korzystasz z MySql)
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 0 Dołączył: 14.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
Próbowałem, zrobić
UPDATE DANE SET ID='' - nie pomogło a także: UPDATE DANE SET ID=NULL - też nie pomogło |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 161 Pomógł: 25 Dołączył: 6.09.2008 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Od początku. Jaką wartość ma ID aktualnie, na jaką chcesz ją zmienić i jakim dokładnie zapytaniem próbujesz to zrobić.
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Jeśli chcesz dać "świeże" ID, to chyba tak powinno pójść:
-------------------- ![]() 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! |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 1 182 Pomógł: 115 Dołączył: 4.03.2009 Skąd: Myszków Ostrzeżenie: (0%) ![]() ![]() |
A może REPLACE? Powinno usunąć stary rekord i dodać nowy, taki sam, z nowym ID.
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
A po co zamieniać cały rekord, skoro można tylko jedno pole?
-------------------- ![]() 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! |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 1 182 Pomógł: 115 Dołączył: 4.03.2009 Skąd: Myszków Ostrzeżenie: (0%) ![]() ![]() |
Bo MAX zwraca wartość maksymalną, a nie następne ID? Zależy czy usuwasz ostatnie rekordy
![]() |
|
|
![]()
Post
#9
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
A obliczanie następnego ID przebiega właśnie po MAX(primaryKey)+1.
![]() http://dev.mysql.com/doc/refman/5.0/en/exa...-increment.html -------------------- ![]() 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! |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 1 182 Pomógł: 115 Dołączył: 4.03.2009 Skąd: Myszków Ostrzeżenie: (0%) ![]() ![]() |
A nie pomyliłeś przypadkiem tego
Cytat For MyISAM and BDB tables you can specify AUTO_INCREMENT on a secondary column in a multiple-column index. ?Bo z tego co rozumiem, to można ustawić auto increment na drugim kluczu, i on dopiero jest tak liczony. Możesz sobie sprawdzić, nawet jak usuniesz ostatni rekord to auto increment zostaje ten sam ![]() ![]() |
|
|
![]()
Post
#11
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Między index a primary key jest pewna różnica.
Zresztą, poeksperymentuj na jakiejś tabeli, to zobaczysz, że każdy nowy ID jest tak liczony. ![]() -------------------- ![]() 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! |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 1 182 Pomógł: 115 Dołączył: 4.03.2009 Skąd: Myszków Ostrzeżenie: (0%) ![]() ![]() |
To, że jest różnica to akurat wiem
![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 20.06.2025 - 20:12 |