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?
piaseq
9.03.2009, 23:36:59
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)
permanent
9.03.2009, 23:41:20
Próbowałem, zrobić
UPDATE DANE SET ID='' - nie pomogło
a także:
UPDATE DANE SET ID=NULL - też nie pomogło
piaseq
9.03.2009, 23:43:12
Od początku. Jaką wartość ma ID aktualnie, na jaką chcesz ją zmienić i jakim dokładnie zapytaniem próbujesz to zrobić.
erix
9.03.2009, 23:55:42
Jeśli chcesz dać "świeże" ID, to chyba tak powinno pójść:
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 . Sprawdzałem przed chwilą .
erix
10.03.2009, 21:15:37
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. Był kiedyś temat odnośnie identyfikatorów.
Mephistofeles
10.03.2009, 22:41:04
To, że jest różnica to akurat wiem .
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.