Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Postgresql] unikatowqa kombinacja kolumn
Forum PHP.pl > Forum > Przedszkole
wojtekw
Jak zrobić by w tabeli mającej 3 kolumny: id, kol2, kol3, nie wstawiać za pomocą inserta kombinacji kol2, kol3 która juz istnieje ?
Czy da się to zrobić w jednym zapytaniu czy trzeba sprawdzać selectem i ewentualnie później dodawać?
zakręcony
  1. [php]<?
  2. // załóż uniqe na 2 kolumny
  3. ALTER TABLE `tabela` ADD UNIQUE ( `kol2` ,`kol3` )
  4. ?>


edit:
a dalej sprawdzaj kod błedu, jak wyskoczy odpowiedni to piszesz: ta kombinacja juz istnieje...
Tibod
Musisz dodać indeks UNIQUE dla obu kolumn a następnie wszystko nowe dodawać jako INSERT IGNORE...
tsharek
można to prosto zrobić za pomocą tzw. rulesów. np:
  1. CREATE RULE jakas_regolka AS ON UPDATE TO jakas_tabelka WHERE (EXISTS (SELECT jakas_tabelka.id FROM jakas_tabelka WHERE ((jakas_tabelka.kol2= new.kol2) AND (jakas_tabelka.kol3 = new.kol3)))) DO INSTEAD NOTHING;
wojtekw
Ok, wielkie dzięki pomogło smile.gif
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.