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:
CREATE SEQUENCE a_id_seq
INCREMENT 1
MINVALUE 1
MAXVALUE 9223372036854775807
START 1
CACHE 1;
CREATE TABLE a
(
id int4 NOT NULL DEFAULT NEXTVAL('a_id_seq'::regclass),
a varchar(10),
CONSTRAINT a_pkey PRIMARY KEY (id)
);
Teraz INSERTY
INSERT
INTO a
(a) VALUES ('asdfads');
INSERT
INTO a
(a) VALUES ('asdfads');
INSERT
INTO a
(a) VALUES ('asdfads');
Teraz zobacz sobie co masz w bazie
SELECT *
FROM a
Rekordy o id: 1, 2, 3
Nastepnie usuwamy pierwszy rekord:
DELETE
FROM a
WHERE id = 1
Teraz zobacz sobie co masz w bazie
SELECT *
FROM a
Rekordy o id: 2, 3
No i nasze oczekiwane zapytanie ktore udowodni ze tak nie jest
INSERT
INTO a
(id, a) VALUES (1, 'asdfads');
Nie ma bledu.
Teraz zobacz sobie co masz w bazie
SELECT *
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.