Webstatt.org - Community seit 2006 - 2012 (2024?)

FOREIGN KEY und SMALLINT

user-220
05.04.2009 15:13

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...


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;



Problem gelöst - FOREIGN KEY soll ja nur als Referenz dienen, ich habe bei der Typ vergabe ein wenig mit den Werten falsch gelegen, besonders mit dem Typ. lächeln