Ich bin mit dieser Situation fest: Ich habe meine wichtigsten Systemeinstellungen Tabelle, um alle Standard-Systemwerte zu halten. Ein Beispiel ist Standardsprache ist Englisch. Standardfilter ist die Altersbeschränkung für das Filtern von Benutzerinhalten usw. Es gibt ungefähr 40 unterschiedliche Werte, die für den Moment beibehalten werden müssen.Kann ein Feld auf 2 verschiedene FKs oder eine bessere Option für diesen Fall verweisen?
Nun werden alle diese Werte in mehreren Nachschlagetabellen und auch in der Tabelle master field_value gespeichert, die alle kleinen Lookups enthält. Sprachcodes befinden sich in der Sprachen-Lookup-Tabelle. Alter Filter hat seine eigene Nachschlagetabelle und viele andere. Andere kleinere Einstellungen befinden sich alle in der Tabelle field_value.
Also muss ich das setting_value Feld auf alle diese Tabellen verweisen, es sei denn, ich habe 1 colunm pro Einstellung und behalten Sie den Rest als NULL.
Derzeit mein Schema ist dies
CREATE TABLE `settings` (
`setting_id` int(6) NOT NULL,
`description` varchar(32) NOT NULL,
`code` int(6) DEFAULT NULL,
`created` datetime NOT NULL,
`updated` timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`setting_id`),
KEY `code` (`code`),
CONSTRAINT `settings_ibfk_1` FOREIGN KEY (`code`) REFERENCES `field_values` (`fv_id`) ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Und es funktioniert nicht, Einstellungen aus mehreren Tabellen über das System zu handhaben.
Hm, das ist was ich brauche. Lassen Sie mich versuchen, es auszuarbeiten, es gibt so viele Tabellen, ich muss es entwerfen und sehen, ob es funktioniert. Aber danke. – Manni