Strona 1 z 1

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

: wt cze 19, 2007 2:06 pm
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.

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

: wt cze 19, 2007 5:30 pm
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

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

: wt cze 19, 2007 6:01 pm
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 :)

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

: wt cze 19, 2007 6:57 pm
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.

...

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

: wt cze 19, 2007 10:37 pm
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 :)

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

: śr cze 20, 2007 10:19 am
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