-1

私は英語とフランス語のウェブサイトを持っています。

したがって、私のデータベースでは、テーブルには、たとえば「name_english」と「name_french」という名前の列と、その他の数値列があります。

「name」列とテーブルの他のすべての列を持つ2つのビュー、またはこのようなものを作成したいと思います。

ビュー「table_english」の列「name_english」は「name」になり、ビュー「table_french」の列は「name_french」に「name」になります。

これはselectのビューで正常に機能していますが、テーブルを更新するビューに対していくつかの挿入/更新/削除も行いたいと思います。

例:

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)

次に、次のようなクエリを実行します。

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;

そして、これらは対応するフィールドとともにテーブルに挿入/更新されます。

したがって、最後に、「テーブル」の内容は次のようになります。

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

どうやってやるの?

4

2 に答える 2

5

ビューが特定のガイドラインに従っている場合、ビューは更新および挿入できます。

詳細はこちら

短いバージョンは次のとおりです。任意の種類のGROUPBY、DISTINCT、またはAggregate関数を持つビューを更新することはできません。さらに多くの制限がありますが、それらに関する最新情報については、マニュアルが最善の策です。

于 2012-06-15T20:45:56.883 に答える
1

ビューを挿入/更新できます。ビューの目的は、1つ以上のテーブルの完全または部分的なステータスを表示することです。テーブルを更新し、2つの更新と2つの挿入を行う必要があります... 1つname_englishは列を更新/挿入し、もう1つはname_french列用です。

于 2012-06-15T20:45:58.040 に答える