Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL] dodawanie kolumny z kluczem
Forum PHP.pl > Forum > Przedszkole
xyxy
Witam,

mam problem z jednym zapytaniem, jak dodać kolumnę z kluczem. Mam tabele w bazie danych z 3 kluczami (opisane pk 1,2,3), a jak próbuje dodać kolumnę, to wyskakuje błąd, że w tabeli może być tylko jeden klucz - teoretycznie chyba prawda.

zapytanie wyglada tak:

  1. ALTER TABLE tti.CONTRACTS ADD TMP varchar(5) PRIMARY KEY


i nie działa, a tabela była tworzona tak:

  1. CREATE TABLE tti.CONTRACTS
  2. (
  3. NAME VARCHAR2(30),
  4. CONTRACT VARCHAR2(40),
  5. RTM_NO NUMBER,
  6. PROC VARCHAR2(10),
  7. SD VARCHAR2(10),
  8. DIR VARCHAR2(60),
  9. PRIMARY KEY(NAME, CONTRACT, RTM_NO)
  10. );
nospor
Nie klucz, a klucz główny. Tak, w tabeli moze byc tylko jeden klucz główny. Po co ci drugi? Nie mozesz zrobic zwyklego indexu? Musi być klucz główny? No chyba ze ty chcesz miec jeden klucz główny skladajacy się z tych 4 pól.
xyxy
właśnie o to chodzi, chcę żeby się składał z 4 pól, ponieważ tylko wtedy zachowa unikalność, przy późniejszym dodawaniu danych.

edit: nie może być indexu, według szefa ;/
nospor
1) usun klucz (drop primary key)
2) utworz pelny klucz na nowo

http://dev.mysql.com/doc/refman/5.1/en/alter-table.html

ps: zakladam ze pracujesz na bazie testowej smile.gif
xyxy
Mam do dyspozycji developerską bazę danych Oracla. Dzięki za rade, pomogło (tylko czemu sam na to nie wpadłem ^^), już mi wszystko działa.
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.