1.2.2016 09:50 tarihinde Zafer Çelenk yazdı:
> Merhaba,
>
> PostgreSQL tablom üzerinde "serial" tipini kullanarak "id" isimli
> otomatik artan alan oluşturdum. Gayet güzel çalışıyor ama beklediğimden
> farklı bir davranış gösteriyor. Bununla ilgili iki sorum olcak;
>
> 1. Tabloya elle bir kayıt girdiğimde ve id değerini ben verdiğimde
> sistem kayıtı ve benim verdim id değerini kabul edip işlemi
> gerçekleştiriyor.
> Ancak sistem sayıları arttırırken aynı sayıya ulaşınca benim verdiğim
> numaranın aynısını tekrar veriyor ve bu kayıtta sisteme eklenyor. Bu
> durumda aynı id değeri olan iki kayıt oluşmuş oluyor. Diğer taraftan
> alan primary key olarak tanımlanabilir ancak bu seferde böyle bir
> durumda hata veriyor.
INSERT INTO tablo_adi(column1)VALUES ('DENEME') RETURNING id;
>
> Benim istegim ya kullanıcının otomatik artan alana giriş yapamaması
> yada numara zaten sistemde mevcutsa bir sonrakine atlanması bunu nasıl
> yapabilirim?
>
> 2. Tablo tanımında alanı serial olarak tanımlasamda pgAdmin üzerinden
> create kodlarına baktığımda tipi integer olarak görüyorum ve satıra
> şöyel bir tanım ekleniyor "nextval('test_id_seq'::regclass" bu kodla
> tabloyu create etmek istediğimde ise "relation "test_id_seq" does not
> exist" hatası alıyorum. Bu durumun sebebi nedir ve bu işin doğrusu
> nasıl olmalıdır.
>
select * from nextval('test_id_seq'::regclass);
> Zafer.