Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem z tabelą
Forum PHP.pl > Forum > Bazy danych > MySQL
Bastion
mam taka tabele :

Kod
a_id INT(8) UNSIGNED NOT NULL AUTO_INCREMENT,
a_name VARCHAR(128) NOT NULL DEFAULT '',
b_id INT(8) UNSIGNED NOT NULL
b_name VARCHAR(128) NOT NULL DEFAULT '',
PRIMARY KEY (a_id),
UNIQUE KEY a_name (a_name)


jak zaoperowac b_id i b_name aby b_id tez bylo primary, a b_name mialo atrybut unique w taki sposob aby dalo sie wprowadzic takie dane :

INSERT INTO tabela SET (a_id, a_name, b_id, b_name) VALUES (1, "aaa", 1, "aaa")
INSERT INTO tabela SET (a_id, a_name, b_id, b_name) VALUES (2, "bbb", 1, "aaa")

ale juz

INSERT INTO tabela SET (a_id, a_name, b_id, b_name) VALUES (2, "bbb", 2, "aaa")
nie ze wzgledu na uniqe b_name
SongoQ
Nie bardzo zrozumialem chesz zalozyc 2 primary key na 2 rozne pola?

Cytat
INSERT INTO tabela SET (a_id, a_name, b_id, b_name) VALUES (2, "bbb", 2, "aaa")

Nie mozesz dodac po klucz podstawowy trzyma, bo sie powtarza taki sam id.
Zeby moc powtarzac nazwy to zrob pole unikalne na 2 kolumny i bedzie po sprawie.

Stringi w SQLu podaje sie w ' a nie "
Bastion
Kod
    a_name   b_name

main
|
+--nazwa1
|    |
|    +------ cos
|    |
|    +------ cos2
|
+--nazwa2
      |
      +------ cos
      |
      +------ cos3


czuli ze zarowno a_name nie moze sie powtarzac
tak samo nie moze sie powtarzac b_name , chyba ze jest w wierszu
z innym a_name takim ze w parze z nim nie ma duplikatu w b_name smile.gif
SongoQ
No to tak jak pisalem zrob unikalny na 2 pola smile.gif
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.