![]() |
![]() |
![]()
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 ![]() |
|
|
|
![]()
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?
|
|
|
![]()
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 (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) .
|
|
|
![]()
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. (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
http://dev.mysql.com/doc/refman/5.0/en/exa...-increment.html |
|
|
![]()
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 (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) . Sprawdzałem przed chwilą (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) . |
|
|
![]()
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. (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Był kiedyś temat odnośnie identyfikatorów. |
|
|
![]()
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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) .
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 21:50 |