jak pobrac ostatnio wstawiona wartosc z pola id?

Odpowiedz Nowy wątek
2006-08-04 14:36
0

mam jaksa tam tabelke i w niej standardowe juz pole #id z AUTO_INC'em :)

#1
gdy wstawie rekord do bazy, jak potem sprawdzic, jaka wartosc dla tego rekordu jest w polu id? wiem, ze moge Max(id), bo niby ta wartosc bedzie najwieksza. no ale moze jest jaksi bardziej profesjonalny sposob?

#2
czemuy jak wstawie cos do bazy i to np dostanie id = 4, a potem jak usune ten rekord to nastepny wstawiony bedzie mial id = 5, a nie 4? ta sie to jakos zmienic? ew, jak przewidziec nastepna wartosc dla tego pola?

Pozostało 580 znaków

2006-08-04 14:46
0

#1

kiedys dodawałem wskazówke do FAQ ale ja wcieło :[ (albo wyszukiwarka jest do d**y alo ktos ja wywalił)

ale odpowiedź to http://pl2.php.net/manual/en/function.mysql-insert-id.php

#2

bo tak to działa.. afaik nie da sie tego zmienić..


<url>http://kooba.pl/</url>

Pozostało 580 znaków

2006-08-04 15:40
0

da sie, bo jest opcja w phpmyadminie, ktora potrafi ustawic nastepna wartosc.

Pozostało 580 znaków

2006-08-04 16:12
nav
0

alter tbl auto_increment=X

http://dev.mysql.com/doc/refman/5.0/en/alter-table.html


utf-8 rlz! ٩(ಥ_ಥ)۶

Pozostało 580 znaków

2006-08-04 16:12
0
Karolaq napisał(a)

da sie, bo jest opcja w phpmyadminie, ktora potrafi ustawic nastepna wartosc.

Bo myadmin prawdopodobnie sam to obsluguje. Jak nie chcesz miec dziur na koncu to select max(id) ... i wstawiasz sam odpowiednia wartosc.

//edit
nav:
auto increment dziala wlasnie tak jak opisal to Karolaq

pozdrawiam
johny


You need to learn how to walk
before you can run

Pozostało 580 znaków

2006-08-04 16:21
0
Karolaq napisał(a)

da sie, bo jest opcja w phpmyadminie, ktora potrafi ustawic nastepna wartosc.

no jest i nav ją podał, a phpMyAdmin pokazuje wszystkie zapytania jakie wykonuje to nie rozumiem gdzie kłopot


Dwie zasady gwarantujące sukces:
1. Nigdy nie mów nikomu wszystkiego<span style="color: white">

Pozostało 580 znaków

2006-08-04 18:56
0
Karolaq napisał(a)

#2
czemuy jak wstawie cos do bazy i to np dostanie id = 4, a potem jak usune ten rekord to nastepny wstawiony bedzie mial id = 5, a nie 4?

Dlatego, że to pole jest unikatowe. wyobraź sobie taką sytuację:
W bazie masz zapisane jakie auto kupił klient. W bazie salonu samochodowego jest 10 klientów. Każdy kupił 1 z 10 fiatów (#1-#10). Po pewnym czasie przywieźli do salonu 10 merców. I teraz co by się stało, gdyby w bazie figurowały pod indeksami 1-10? [green]


Piszę programy w językach: C, C++, Java, Python, Bash, PHP, SQL.
Przyjmuję zlecenia

Pozostało 580 znaków

2006-08-06 19:07
0

jak dla mnie zly opis :P

10 klientow zamowilo po 1 merolku i za nie zaplacilo, przyszla dostawa i autka zostaly przypisane do danych transakcji, ale 5 z nich sie wycofalo razem z pieniazkami, nastepnie 10 innych zakupilo po jednym fiaciku ;)


Pozostało 580 znaków

2006-08-11 05:55
0

Sprawdzasz tak:
$result = mysql_query('SHOW TABLE STATUS LIKE "nazwa_tabeli"');
$row = mysql_fetch_assoc($result);
$topic = $row["Auto_increment"];

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0