We are in the process of migrating this forum. A new space will be available soon. We are sorry for the inconvenience.

Problemik z kluczem obcym


sLoDkI
05-08-2007, 22:11
Cytat Napisał KUDELSKI
Kod:
CREATE TABLE daneklienta
(klientid INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
imie CHAR(20) NOT NULL,
nazwisko CHAR(30) NOT NULL,
.....);
Kod:
CREATE TABLE danepodrozy
(id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
data DATE NOT NULL,
osoby TINYINT(30) UNSIGNED NOT NULL,
klientid INT UNSGINED NOT NULL FOREIGN KEY (klientid) REFERENCES daneklienta(klientid),
Poczytaj:
http://dev.mysql.com/doc/refman/5.0/...nstraints.html

"Both tables must be InnoDB tables and they must not be TEMPORARY tables."

Domyślnie tabele tworzone są jako MyISAM. Musisz stworzyć je jako InnoDB, ale przed tym poczytaj sobie lepiej o tym silniku..

pozdrawiam.

KUDELSKI
04-08-2007, 11:13
Witam wszystkich mam malutki problemik z kluczem obcym jak już wspomniałem w temacie a dokładniej chce aby klucz główny z tabeli daneklienta o nazwie klientid zapisywał się jako klucz obcy w tabeli danepodrozy i tu właśnie mam malutki problem wyskakuje mi komunikat że coś mu nie pasuję przy tym kluczu obcym w drugiej tabeli wszystko wykonuje w w okienku poleceń cdm na pewno coś źle robie i prosił bym o pomoc jeśli da się to jakoś inaczej zrobić, naprawić w tworzenie baz danych bawię się od 4 dni dopiero obecnie używam krasnala który posiada DBMS MySQL 3.23.58-max-debug jeśli ktoś zna jakiś lepszy i chciał by się podzielić informacjami chętnie skorzystam. Kod tworzonych tych dwóch tabel podam po małym kawałku jeśli będzie trzeba dodam cały kod

Kod:
CREATE TABLE daneklienta
(klientid INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
imie CHAR(20) NOT NULL,
nazwisko CHAR(30) NOT NULL,
.....);
Kod:
CREATE TABLE danepodrozy
(id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
data DATE NOT NULL,
osoby TINYINT(30) UNSIGNED NOT NULL,
klientid INT UNSGINED NOT NULL FOREIGN KEY (klientid) REFERENCES daneklienta(klientid),
Dziękuje sLoDkI