Wyrzuca Ci błąd, ponieważ utworzenie czegoś takiego nie miałoby sensu.
Zaużmy, że do tabeli 'Autorzy' dodasz wpis.
1, ???, Jan, Kowalski
No i właśnie tu jest problem.
Co jeśli w tabeli 'Tytuły' nie ma ani jednego wpisu, albo nie ma tytułu, który by odpowiadał temu autorowi ?
Ten sam problem następuje przy wpisie to tabeli Tytuły.
przykładowy wpis
1, ???, Książka, (i tutaj data publikacji powinna być typu datetime, lub date)
Jak widzisz kolejny wpis byłby bez sensu.
To co chcesz osiągnąć, to relacja typu wiele do wielu ( wiele autórów, może mieć wiele książek )
A żeby to zrobić będzie Ci potrzebna tabela pomocnicza.
CREATE TABLE Ksiazki (
id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
tytul VARCHAR(20),
data_publikacji DATETIME,
PRIMARY KEY(id)
) ENGINE=InnoDB;
CREATE TABLE Autorzy (
id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
imie VARCHAR(20),
nazwisko VARCHAR(20),
PRIMARY KEY(id)
) ENGINE=InnoDB;
CREATE TABLE Pomocnicza (
Ksiazki_id INTEGER UNSIGNED NOT NULL,
Autorzy_id INTEGER UNSIGNED NOT NULL,
INDEX Ksiazki_has_Autorzy_FKIndex1(Ksiazki_id),
INDEX Ksiazki_has_Autorzy_FKIndex2(Autorzy_id),
FOREIGN KEY(Ksiazki_id)
REFERENCES Ksiazki(id)
FOREIGN KEY(Autorzy_id)
REFERENCES Autorzy(id)
);