MySQL - insert / update / delete in Aussicht

Ich habe eine website in Englisch und in Französisch.

So, in meiner Datenbank meine Tabellen haben eine Spalte mit dem Namen "name_english" und "name_french" zum Beispiel und einige andere numerische Spalten.

Ich soll in 2 Ansichten, oder so etwas wie dieses, die die Spalte "Namen" und all den anderen Spalten in meiner Tabelle.

In der Ansicht "table_english" wird die Spalte "name_english" als "Namen" und die Ansicht "table_french" wird die Spalte "name_french" als "name".

Dies ist in Ordnung, mit Blick auf wählt, aber ich möchte auch einige inserts/updates/deletes auf Ansichten, aktualisieren Sie die Tabelle.

Beispiel:

table:
id | name_english | name_french | int1 | int2 | int3

table_english (a view):
id | name | int1 | int2 | int3 (name here is name_english)

table_french (a view):
id | name | int1 | int2 | int3 (name here is name_french)

Dann möchte ich dazu einige Anfragen wie diese:

INSERT INTO table_english(id, name, int1, int2, int3) VALUES (1, 'name', 12, 14, 2);
UPDATE table_english set name='new name' WHERE id=1;

Diese werden eingefügt/aktualisiert werden in der Tabelle mit den entsprechenden Feldern.

Damit Am Ende der Inhalt von "Tabelle" werden:

1 | 'new name' | DEFAULT VALUE | 12 | 14 | 2

Wie kann ich das tun?

  • Es ist sehr seltsam, dass Sie versuchen, Sie zu internationalisieren Sie Ihre Website auf diese Weise. Möchten Sie vielleicht in Erwägung ziehen, diese Logik in die Anwendung selbst und wechseln zwischen Datenbanken. Wenn es streng Ansicht Verwandte, die Sie in Aussehen sollte gettext. Vielleicht ein paar mehr Informationen, warum Sie gewählt haben, dieser Ansatz könnte hilfreich sein, in immer eine bessere Antwort.
  • meine Anwendung dieser Logik. Aber die Benutzer können fügen Sie einige Inhalte, und diese Inhalte können übersetzt werden. Wenn ich 2 Datenbanken, werde ich haben, replizieren Sie alle Operationen auf der Datenbank zu haben, die genau die gleiche Datenbank außer für text-Felder.
  • So habe eine Spalte in der Tabelle an, ob es Englisch oder Französisch ist, und die Anwendung kann die Ergebnisse filtern, basierend auf, dass.
  • Aber ich habe bereits die website in Englisch, die ich nicht wollen, zu passieren, alle Abfragen in meinem code zu ändern. Ich habe gerade wnated um den Tabellennamen zu ändern, wie kann ich mit anzeigen. Denn ich habe die Tabellennamen in Variablen. Aber wenn es unmöglich ist, mache ich es auf die harte Weise...
InformationsquelleAutor Marm | 2012-06-15
Schreibe einen Kommentar