![]() |
| | LinkBack | Themen-Optionen | Thema durchsuchen |
| | Nach oben #1 |
| Neuer Benutzer Registriert seit: 05.04.2009
Beiträge: 17
|
Servus zusammen, und zwar habe ich zwei Tabellen, die eine Tabelle soll das "Schema" Tabelle dienen, und die zweite Tabelle soll sich beim Hinzufügen von Datensätzen jeweils nur die ID- aus der Schema- Tabelle holen bzw. dann eben hinzufügen. Ich habe das Probem das ich bei der Erstellung bei der zweiten Tabelle den Error 150 erhalten, im phpMyAdmin. Aber auch nur, weil ich dort SMALLINT verwende, wenn ich INT aber nehme, klappt es... Code: SQL- Tabelle 1:
CREATE TABLE IF NOT EXISTS `registration_rules_theme` (
`themeID` int(10) NOT NULL AUTO_INCREMENT,
`theme` varchar(255) DEFAULT NULL,
`sortOrder` smallint(3) unsigned NOT NULL DEFAULT '1',
PRIMARY KEY (`themeID`),
KEY `sortOrder` (`sortOrder`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
SQL- Tabelle 2:
CREATE TABLE IF NOT EXISTS `registration_rules` (
`ruleID` int(10) NOT NULL AUTO_INCREMENT,
`ruleGroup` smallint(3) unsigned NOT NULL DEFAULT '1',
`sortOrder` smallint(3) unsigned NOT NULL DEFAULT '1',
`headerTitle` varchar(255) NOT NULL,
`contentDescription` varchar(1020) NOT NULL,
PRIMARY KEY (`ruleID`),
KEY `ruleGroup` (`ruleGroup`),
KEY `sortOrder` (`sortOrder`),
FOREIGN KEY (`ruleGroup`)
REFERENCES `registration_rules_theme` (`themeID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
|
| | |
| | Nach oben #2 |
| Sesselkleber Registriert seit: 17.01.2005
Beiträge: 626
|
Erstmal: herzlich willkommen im Forum. Fremdschlüssel dienen ja dazu Datensätze zu "verbinden". Du kannst nicht in Tabelle 1 eine Spalte definieren die einen bestimmten Wertebereich aufnehmen kann und in Tabelle 2 als Fremdschlüssel darauf referenzieren aber einen anderen Wertebereich definieren. Als Beispiel: Du hast Tabelle a und definierst darin Mitarbeiter. Die Mitarbeiter bekommen als Primärschlüssel eine Mitarbeiternummer. Nun hast du eine Tabelle b die Aufträge verwalten soll. Hier definierst du eine Spalte "Mitarbeiter" die auf den Mitarbeiter referenzieren soll. Wenn du hier den Wertebereich einschränkst (1-10 zB) kann das Ganze nicht mehr funktionieren. Was machst du wenn Mitarbeiter 11 einen Auftrag bekommt? Oder in deinem Fall: Was passiert wenn in registration_rules_theme ein Wert in die int(10)-Spalte 'themeID' eingetragen wird der nicht in die darauf referenzierende Spalte 'ruleGroup' der Tabelle registration_rules passt, die nur Werte smallint(3) aufnehmen kann? Gruß Sparrow Geändert von sparrow (05.04.2009 um 23:48 Uhr) |
| | |
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | Thema durchsuchen |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Problem mit key() bei SPL RecursiveIterator für eine Knotenstruktur | robo47 | PHP-Programmierung | 0 | 08.08.2008 18:49 |
| [C/PHP -> mcrypt] Zu kurzer Key | WarrenFaith | Sonstige Programmiersprachen | 19 | 03.04.2007 11:03 |
| [MySQL4] Primary Key zeitgleich Foreign Key | WarrenFaith | Datenbanken | 4 | 27.02.2007 20:57 |
| Key in beliebiger Arraydimension finden | WarrenFaith | PHP-Programmierung | 9 | 15.05.2006 10:36 |
| Speichern von Einstellungen - Welche API? | pago | Allgemeine Java-Programmierung | 4 | 04.11.2005 20:25 |