Ich habe 2 Tabellen, eine übergeordnete Tabelle und eine untergeordnete Tabelle. Untergeordnete Tabelle hat einen Fremdschlüssel zur übergeordneten Tabelle. Ich habe erfolgreich den Fremdschlüssel erstellt. Aber wie automatisch Feld 'Nama' basierend auf Elterntabelle aktualisieren, während ich nur 'id_parent' einfügen? ich nur versucht:MYSQL So aktualisieren Sie den Wert der untergeordneten Tabelle mit Fremdschlüssel, während Sie Daten basierend auf der übergeordneten Tabelle einfügen
INSERT INTO child (id_parent) values (1)
aber Feld 'Name' Wert ist immer noch NULL
Hier meine Tabellen:
CREATE TABLE `child` (
`id` int(6) NOT NULL AUTO_INCREMENT,
`id_parent` int(6) DEFAULT NULL,
`nama` varchar(20) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `aa` (`nama`,`id_parent`),
CONSTRAINT `aa` FOREIGN KEY (`nama`, `id_parent`) REFERENCES `parent` (`nama`, `id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=armscii8;
-- ----------------------------
-- Table structure for parent
-- ----------------------------
CREATE TABLE `parent` (
`id` int(5) NOT NULL AUTO_INCREMENT,
`nama` varchar(20) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `nama` (`nama`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=armscii8;
die übergeordnete Tabelle
INSERT INTO `parent` VALUES ('4', 'asa');
INSERT INTO `parent` VALUES ('1', 'batman');
INSERT INTO `parent` VALUES ('3', 'goku');
INSERT INTO `parent` VALUES ('2', 'robin');
INSERT INTO `parent` VALUES ('5', 'usu');
Ich bin immer noch nicht ganz sicher über Fremdschlüssel. Wie kann ich ein anderes Feld in derselben Tabelle automatisch aktualisieren, indem ich nur ein Feld auf Basis einer anderen Tabelle einfüge? –
Überprüfen Sie dies: http://www.mysqltutorial.org/mysql-foreign-key/ und wenn Sie noch ein Problem haben, werde ich es Ihnen erklären. –