Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> nadanie id od nowa
ActivePlayer
post
Post #1





Grupa: Przyjaciele php.pl
Postów: 1 224
Pomógł: 40
Dołączył: 6.07.2004
Skąd: Wuppertal

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


potrzebuję nadac nowe id wszystkim rekordom w tabeli. chodzi o to aby kazdemu rekordowi nadac inne id, zaczynając od 1. jest opcja zrobic to 1 zapytaniem ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
SongoQ
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


Cytat
- Wartości klucza głównego nie można użyć ponownie. Jeśli usunięto wiersz z tabeli, żaden nowy wiersz nie może przyjąć usuniętej wartości klucza głównego

Mozna uzyc. Nie zrozumiales ideologi autora.

Pewne rzeczy sa teoria. Autor mial na mysli ze prawidlowo dla sekwenci id jest nadawane automatycznie i nie bedzie takiej sytuacji ze nagle nada sie takie id jakie juz bylo usuniete.

Prosty przyklad, z mojego PG:

Schemat:
  1. CREATE SEQUENCE a_id_seq
  2. INCREMENT 1
  3. MINVALUE 1
  4. MAXVALUE 9223372036854775807
  5. START 1
  6. CACHE 1;
  7.  
  8. CREATE TABLE a
  9. (
  10. id int4 NOT NULL DEFAULT NEXTVAL('a_id_seq'::regclass),
  11. a varchar(10),
  12. CONSTRAINT a_pkey PRIMARY KEY (id)
  13. );


Teraz INSERTY
  1. INSERT
  2. INTO a
  3. (a) VALUES ('asdfads');
  4. INSERT
  5. INTO a
  6. (a) VALUES ('asdfads');
  7. INSERT
  8. INTO a
  9. (a) VALUES ('asdfads');


Teraz zobacz sobie co masz w bazie
  1. SELECT *
  2. FROM a

Rekordy o id: 1, 2, 3

Nastepnie usuwamy pierwszy rekord:
  1. DELETE
  2. FROM a
  3. WHERE id = 1


Teraz zobacz sobie co masz w bazie
  1. SELECT *
  2. FROM a

Rekordy o id: 2, 3

No i nasze oczekiwane zapytanie ktore udowodni ze tak nie jest
  1. INSERT
  2. INTO a
  3. (id, a) VALUES (1, 'asdfads');

Nie ma bledu.

Teraz zobacz sobie co masz w bazie
  1. SELECT *
  2. FROM a

Rekordy o id: 1, 2, 3

Podsumowujac, trzeba umiec czytac ze zrozumieniem. Tekst wyrwany z danej ksiazki czy art nic nie znaczy jesli sie nie wie czego dotyczy temat. Nie sadze zeby autorowi chodzilo o to o czym ty pisales. Bo tego nie zabraniaja mechanizmy bazy.
Go to the top of the page
+Quote Post

Posty w temacie


Closed TopicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 2.10.2025 - 08:24