[SQL / MySQL] problem z kluczem głównym

Języki, których efekty są wykonywane po stronie serwera. PHP, ASP czy CGI w połączeniu z bazami danych SQL dają niezwykłe możliwości budowy i zarządzania stron WWW. Tu zadajemy pytania oraz demonstrujemy kod, z którym mamy problem.
koziolek
Przelotem
Przelotem
Posty: 387
Rejestracja: sob paź 21, 2006 10:07 pm
Kontakt:

[SQL / MySQL] problem z kluczem głównym

Post autor: koziolek »

Chcę zdefiniować tabelę której klucz główny będzie nałożony na więcej niż jedną kolumnę. Zgodnie ze standardem SQL92 można tak zrobić (unikalny jest wtedy zbiór wartości). Jednak nie jestem do końca przekonany czy w mySQLu można tak zrobić. Zazwyczaj takie rzeczy robię w postgresql w mysqlu jestem zmuszony użyć takiego rozwiązania poraz pierwszy.
kawałek skryptu:
[sql]
CREATE TABLE XXX(P1 INT(10) NOT NULL PRIMARY KEY, P2 VARCHAR(20) NOT NULL PRIMARY KEY, P3 VARCHAR(20) NOT NULL PRIMARY KEY);
[/sql]

Czekam na jasne odpowiedzi da się czy się nie da.
123456
Zaczyna działać
Zaczyna działać
Posty: 514
Rejestracja: sob paź 28, 2006 1:19 pm

Re: [SQL / MySQL] problem z kluczem głównym

Post autor: 123456 »

Dałem w qoute bo sql coś się sypie - przynajmniej u mnie pisze:CREATE TABLE XXX (
P1 INT (10 ) NOT NULL,
P2 VARCHAR (20) NOT NULL,
P3 VARCHAR (20) NOT NULL,
PRIMARY KEY (`P1`,`P2`,`P3`)
);
jasna odpowiedz
koziolek
Przelotem
Przelotem
Posty: 387
Rejestracja: sob paź 21, 2006 10:07 pm
Kontakt:

Re: [SQL / MySQL] problem z kluczem głównym

Post autor: koziolek »

Nie do końca jasna jeżeli używasz pytania o Multipart PrimaryKey i multi Column primary key. Zmyłką była też nie trzymająca zasad SQLa składnia mySQLa jezli chodzi o tworzenie kolumny z kluczem :) Kto to widział definicje dawac na końcu...
ech... dzięki :)
123456
Zaczyna działać
Zaczyna działać
Posty: 514
Rejestracja: sob paź 28, 2006 1:19 pm

Re: [SQL / MySQL] problem z kluczem głównym

Post autor: 123456 »

Widzę, że jesteś usatysfakcjonowany swoim postem, ale nie wiem dlaczego.

Twoja nieudolna próba, przedstawiona przez fragment zapytania, sugeruje, że chcesz założyć klucz na każdą kolumnę. W związku z tym napisałem zapytanie, które coś takiego robi.

Zamiast pisać
ech... dzięki
...mógłbyś wyjaśnić co jest nie tak.

...
koziolek
Przelotem
Przelotem
Posty: 387
Rejestracja: sob paź 21, 2006 10:07 pm
Kontakt:

Re: [SQL / MySQL] problem z kluczem głównym

Post autor: koziolek »

@123456 w praktyce za dużo czasu spędzonego z postgersem gdzie składia którą przedstawiłem jest poprawna. Problemem było zbytnie zamotanie i dość napięte terminy :)
123456
Zaczyna działać
Zaczyna działać
Posty: 514
Rejestracja: sob paź 28, 2006 1:19 pm

Re: [SQL / MySQL] problem z kluczem głównym

Post autor: 123456 »

z postgersem gdzie składia którą przedstawiłem jest poprawna
Nie chce niepotrzebnie przedłużać pogadanki, ale standard SQL-92 mówi jasno, że definicje jednego klucza można umieścić na poziomie definicji kolumny ale już kilka kluczy tylko i wyłącznie na poziomie definicji tabeli.

BTW. Na moim postgresie takie zapytanie nie idzie... powód napisany wyżej.

EOT
ODPOWIEDZ