Kod
CREATE TABLE uzytkownik(
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
login VARCHAR(30) NOT NULL,
haslo VARCHAR(30) NOT NULL,
email VARCHAR(30) NOT NULL,
imie VARCHAR(15) NOT NULL,
nazwisko VARCHAR(24) NOT NULL,
plec VARCHAR(12) NOT NULL,
data_ur DATE NOT NULL,
)ENGINE=InnoDB DEFAULT CHARACTER SET=latin2;
CREATE TABLE zdjecie(
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
tytul VARCHAR(40) NOT NULL,
opis TEXT,
plik VARCHAR(250) NOT NULL,
czy_glowne TINYINT(1) NOT NULL,
login_uzytkownika INT,
FOREIGN KEY(login_uzytkownika) REFERENCES uzytkownik(login) ON DELETE CASCADE
)ENGINE=InnoDB DEFAULT CHARACTER SET=latin2;
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
login VARCHAR(30) NOT NULL,
haslo VARCHAR(30) NOT NULL,
email VARCHAR(30) NOT NULL,
imie VARCHAR(15) NOT NULL,
nazwisko VARCHAR(24) NOT NULL,
plec VARCHAR(12) NOT NULL,
data_ur DATE NOT NULL,
)ENGINE=InnoDB DEFAULT CHARACTER SET=latin2;
CREATE TABLE zdjecie(
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
tytul VARCHAR(40) NOT NULL,
opis TEXT,
plik VARCHAR(250) NOT NULL,
czy_glowne TINYINT(1) NOT NULL,
login_uzytkownika INT,
FOREIGN KEY(login_uzytkownika) REFERENCES uzytkownik(login) ON DELETE CASCADE
)ENGINE=InnoDB DEFAULT CHARACTER SET=latin2;
Druga tabela(zdjecie) nie chce się dodać do bazy, występuje błąd:
Cytat
Something is wrong in your syntax obok 'CREATE TABLE zdjecia(
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
tytul VARCHA' w linii 1
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
tytul VARCHA' w linii 1
domyślam się ze błąd występuje dlatego że w tabeli uzytkownik pole "login" nie jest kluczem głownym, tylko no własnie w tabeli tej mam już klucz głowny(id) który jest kluczem obcym dla innych tabel, a chcialbym zeby dla tabeli zdjecie kluczem obcym był login użytkownika z tabeli uzytkownik.
Co tu zmienić zeby było dobrze?