2017-11-17 1 views
0

ich habe zwei Tabellen in Mysql mutiple Werten darin als Fremdschlüssel mitwie können wir eine Spalte an einem anderen Tisch

intent_sample(id,sample_data,intent_id,entity_id) 
entities(id,entity_name,entity_id) 

Da ein sample_data Keine von Entitäten in ihm haben kann, möchte ich mehrere speichern Werte in einer einzelnen Spalte und möchten auch entity_id mit der entities-Tabelle als Fremdschlüssel verknüpfen.

Wie können wir es tun?

ich daran gedacht, mit JSON-Datentyp in MySQL für ENTITY_ID aber ist es möglich, eine Spalte mit json Datentyp als Fremdschlüssel an einen anderen Tisch

+1

Sie wollen dies definitiv nicht tun. Siehe Normalisierung. – Strawberry

Antwort

0

Verwenden Sie einen zusammengesetzten Schlüssel

FOREIGN KEY (`id`,`entity_id`) 
    REFERENCES entities(`intent_id`,`entity_id`) 

Dieser Wille zu machen Erlaube eine Beziehung zwischen dem Fremdschlüssel in einer Tabelle und der ID in einer anderen Tabelle.

Ich habe nicht alle Details, so dass Sie es ändern können, um mit Ihren Tabellen zu arbeiten.

Verwandte Themen