Hallo Forumgemeinde!
Folgendes:
3 Tabellen; in den ersten zwei Tabellen jeweils ein Primärschlüssel. Tabelle drei referenziert die Beziehung zwischen Tabelle eins und zwei. Tabelle drei enthält 2 Primärschlüssel (zusammengesetzt) und die einzelnen Schlüssel sind Fremdschlüssel.
Wenn ich ein INSERT VALUES mache, mit schlüsseln, die es in keiner Tabelle gibt, dann macht der das trotzdem erfolgreich. Er kontrolliert nicht die Logik. Derjenige der den Insert macht muss kontrollieren ob die Daten existieren, oder? Also die DB/MySQL/XAMPP-Apache kontrolliert das nicht, oder?
Irre ich mich, oder muss ich die Logik implementieren? Dachte immer, dass bei einem insert die DB kontrolliert ob das auch legal ist (also nicht nur den Datentyp sondern auch den Gültigkeitsbereich des Wertes...). :rtfm:
Vielen Dank im Voraus für jeden Tipp!
Schönes Wochenende euch noch!
Folgendes:
3 Tabellen; in den ersten zwei Tabellen jeweils ein Primärschlüssel. Tabelle drei referenziert die Beziehung zwischen Tabelle eins und zwei. Tabelle drei enthält 2 Primärschlüssel (zusammengesetzt) und die einzelnen Schlüssel sind Fremdschlüssel.
Wenn ich ein INSERT VALUES mache, mit schlüsseln, die es in keiner Tabelle gibt, dann macht der das trotzdem erfolgreich. Er kontrolliert nicht die Logik. Derjenige der den Insert macht muss kontrollieren ob die Daten existieren, oder? Also die DB/MySQL/XAMPP-Apache kontrolliert das nicht, oder?
SQL:
DROP TABLE IF EXISTS `ap`;
CREATE TABLE IF NOT EXISTS `ap` (
`ap_id` smallint(6) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`ap_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
SQL:
CREATE TABLE IF NOT EXISTS `if1` (
`if_id` smallint(6) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`if_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
SQL:
DROP TABLE IF EXISTS `ap-if`;
CREATE TABLE IF NOT EXISTS `ap-if` (
`ap_id` smallint(6) ,
`if_id` smallint(6) ,
PRIMARY KEY (`ap_id`,`if_id`),
FOREIGN KEY (`ap_id`) references ap(`ap_id`),
FOREIGN KEY (`if_id`) references if1(`if_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
Irre ich mich, oder muss ich die Logik implementieren? Dachte immer, dass bei einem insert die DB kontrolliert ob das auch legal ist (also nicht nur den Datentyp sondern auch den Gültigkeitsbereich des Wertes...). :rtfm:
Vielen Dank im Voraus für jeden Tipp!
Schönes Wochenende euch noch!