![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 15.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
nie wiem jak zapewnić unikalność w rekordzie w tabeli, w której trzymam kilka kluczy obcych(tych samych), chcem aby baza danych zachowala spójność, a nie wadlizować poprawność wpisu przez php. Potrzebuje, aby rekord zawierał unikalne klucze obce. Zastanawiałem się czy może transakcja będzie mogła to wykonać, bo trigger raczej odpada,
Co sądzicie na ten temat?? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 16.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
tabela z dwoma pracownikami to tylko przykład. (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
zawsze mozna zrezygnować z unique na projekt i mieć tyle par ile sie chce ze wspolnym projetkm, chociaz to faktycznie pokrecone (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) ale mowie to tylko przyklad gdyby chciać miec ograniczona licze pracowikow. jeśli założy sie UNIQUE na oba pola wspólnie to faktycznie bedzie to spełaniało swoje zadanie (jeśli index na obydwu polach razem będzie działał jak sklejenie). wcześnie zrozumiałem ze unique ma być założone _osobno_ na każdą z kolumn. EDIT : to chyba wyczerpuje temat i przy okazji totoo masz tez dodatkowe informacje o potencjalnym problemie. Cytat CREATE TABLE
newTable ( field1 INT(11) , field2 INT(11) , field3 VARCHAR(5) , field4 BLOB , PRIMARY KEY (field2, field1, field3) <==== ) In other words: You have to declare KEY's spreading over multiple columns in a seperate definition line. This implicitly means, that such a multiple PRIMARY KEY can't use AUTO_INCREMENT. One Problem is, that each multiple column KEY is only allowed to spread 16 columns. In your example this isn't a problem (as you only use 3 columns). The second catch is the maximum overall length of 256 Bytes. Ten post edytował azr 16.05.2008, 13:44:56 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 6.10.2025 - 12:05 |