Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL]Nadawanie kluczy podstawowych
Forum PHP.pl > Forum > Bazy danych > MySQL
Meduz
Witam!

Zwracam się do was o pomoc w nadaniu dwóch kluczy podstawowych w jednej tabeli.

Według książki można stworzyć tabelę z dwoma kluczami podstawowymi. Pytanie brzmi jak nadać więcej niż jeden primary key do istniejącej tabeli.

  1. CREATE TABLE name
  2. ( kol1......
  3. kol2......
  4.  
  5. PRIMARY KEY (kol1, kol2)
  6. );
  7.  
nospor
PRIMARY KEY można nadać tylko jeden..... conajwyżej może się on składać z kilku pól. Chyba źle zrozumiałeś wink.gif
Meduz
Zacytuję słowa z książki


Na przykładzie tabeli Pozycje_zamowione zademonstrowano sposób deklarowania kluczy podstawowych składających się z więcej niż jednej kolumny:


  1. CREATE TABLE Pozycje_zamowione
  2. ( zamowienieid int UNSIGNED NOT NULL,
  3. isbn char(13) NOT NULL,
  4. ilosc tinyint UNSIGNED,
  5.  
  6. PRIMARY KEY (zamowienieid, isbn)
  7.  
  8. );


Jak mam to rozumieć?
nospor
No to przecież napisałęm:
"conajwyżej może się on składać z kilku pól"

No i jak wół masz w przykładzie:
PRIMARY KEY (zamowienieid, isbn)
Jeden Klucz podstawowy, który składa się z dwóch pól: zamowienie oraz isbn. Czego tu nie rozumiesz?
Meduz
wystarczyło powiedzieć, że przez pola miałeś na myśli kolumny. z innych języków programowania mylę pojęcia.

Wrócę do pytania poprzedniego.

Jak nadać primary key dwóm kolumnom w istniejącej już tabeli?
nospor
Cytat
wystarczyło powiedzieć, że przez pola miałeś na myśli kolumny
A skąd ja niby miałem wiedzieć, że ty tego nie rozróżniasz??

Cytat
Jak nadać primary key dwóm kolumnom w istniejącej już tabeli?

Manual mysql -> ALTER TABLE
I o to pytasz dopiero pierwszy raz..... wcześniej się pytałeś o zakładanie kilku kluczy podstawowych dla jednej tabeli. Ale to już chyba wyjasniliśmy... czy może się mylę?
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.