2011-12-16 3 views
0

テーブル内のデータを更新しないVIEWを作成するにはどうすればよいですか?たとえば、VIEWとTABLE内の行のみを削除したい場合は、そのVIEWには削除が必要ありません。どのように行うのですか?動作しません。このような ...どのようにローカル作業のためのVIEWを作成するには、TABLEで更新せずに?

それがチェックすることはなく、ある
"CREATE OR REPLACE VIEW $prefix" 
. "Test_View AS SELECT * FROM Table1 WITH LOCAL CHECK OPTION"; 

...、助けてください!

答えて

2

VIEWにデータを更新/削除できないようにするには、別のキーを追加します(たとえば、一意のキーには本質的に効果がありません)。

は、更新可能なビューでMySQL Refを参照してください:

ビューの更新不可を行い、特定の他の構成要素もあります。具体的に、それは次のいずれかが含まれている場合、ビューは更新可能ではありませんするには、次の

集計関数(SUM()、MIN()、MAX()、COUNT()など)

DISTINCTビューからの行の削除

BY

GROUP ...

+0

マニュアルを読む! – ezepovartur

+0

注:複数の表に基づくビューの場合、データの追加操作(INSERT)は、唯一の実表に追加されている場合にのみ機能します。このようなビューのデータの削除(DELETE)はサポートされていません。 – ezepovartur

+0

の場合にのみJOINを削除することはできません... – ezepovartur

1

は、対応するテーブルからそれらを削除します。

ビューの定義を変更して、不要な行を除外する必要があります。

0

あなたはこのためにビューを使用したくありません。テーブルを永続的に存在させる場合は、挿入/更新トリガーによって更新される2番目のテーブルが必要になります。それ以外の場合は、INSERT..SELECTステートメントを使用して、クエリごとにテンポラリテーブルを作成します。