あるテーブルに行を挿入すると、そのテーブルの1分前以上に挿入された
行を全て削除するようなトリガーの作成は可能でしょうか?
トリガーは作れましたが、そのテーブルに行を挿入すると、
> Can't update table 'submitted' in stored function/trigger because it is already used by statement which invoked this stored function/trigger.
といわれます。
トリガって、自分自身のテーブルを操作することはできないんですか?
例えば、table_a に行を挿入すると、table_a に行を挿入するトリガーを
作るのは、無限ループになるので駄目なのは分かります。
でも、table_a に行を挿入すると、table_a のある行を削除するトリガーも
作れないようですがどうしてでしょう?
No.1ベストアンサー
- 回答日時:
マニュアルに以下の記載があります。
「ストアド ファンクションまたはトリガ内では、その関数やトリガを実行したステートメントが ( 読み取り、または書込みに ) すでに使用しているテーブルを改変することはできない。」
http://dev.mysql.com/doc/refman/5.1/ja/routine-r …
理由としてはsweepeaさんが考えているように、SQL実行とトリガ実行が無限に繰り返される可能性があり、現状、再帰呼び出しも実装されていないので、入り口で禁止にしているということでしょう。
ご回答ありがとうございます。
むー、なるほど。
ということは、INSERT時に古いデータを自動削除、みたいなことは
できないんですね。
※INSERT→トリガー→ストアドプロシージャ→DELETEとしても、
やはり無理でした。。。
MySQLが駄目なのか、僕のやろうとしてることが駄目なのか。。。
くやしいです。
どうも、ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript javascriptでテーブルに追加した項目のid追加してローカルストレージを操作したい 5 2023/01/01 15:52
- MySQL テーブル作成時のカラムについて 2 2022/08/27 21:48
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
- その他(プログラミング・Web制作) python 3.10で 同じlistに同じ構文で同じデータ代入した結果が異なる現象発生 7 2022/06/18 11:08
- MySQL MySQLのテーブル作成でハイフン - は使用できないのでしょうか? 2 2022/10/21 16:50
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- その他(Microsoft Office) エクセルでテーブルの最終行が自動追加されない 1 2023/01/04 15:09
- JavaScript EasyUIのSubGrid(jquery)におけるObjectに入れた連想配列について 1 2022/05/02 11:21
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- MySQL MYSQL エラー 2 2022/10/18 11:37
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
特定のカラムが更新されたときのみ、そのレコードを別テーブルへ格納するト
Oracle
-
トリガからプロシージャのコールについて
Oracle
-
SQLのVARCHARとVARCHAR2の違い
その他(データベース)
-
-
4
Oracleで上書きImportはできますか?
その他(データベース)
-
5
ストアドプロシジャからストアドプロシジャを呼ぶには?
Oracle
-
6
データ
Oracle
-
7
SELECT INTOで一度に複数の変数へ代入をするにはどのようにすれがよいでしょうか?
PostgreSQL
-
8
【PL/SQL】FROM区に変数を使う方法
Oracle
-
9
selectした結果の余計な余白を取るにはどうしたらよいのでしょうか
Oracle
-
10
PL/SQL PLS-00103エラーについて
Oracle
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel テーブル内の空白行の削除
-
update文で改行を入れる
-
SELECT 文の NULL列は?
-
テーブルリンク リンク元を知...
-
テーブル名をカラムとして取得...
-
一つ前に戻るには…
-
Accessのテーブルデータを一気...
-
Accessでデータシートに同じデ...
-
会社の飲み会の幹事になり、座...
-
Notion@リレーション値の取得...
-
件数の多い順にselect
-
うまくいきません教えてくださ...
-
外部キーだけのテーブル(主キ...
-
SQL、2つのテーブルで条件一致...
-
男性と2人で飲食店に行きテーブ...
-
JavaScriptでAccessのテーブル...
-
「テーブルに座って……」という...
-
論理名とコメント構文(?)について
-
SQL update方法
-
Accessで2種類のデータベースを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel テーブル内の空白行の削除
-
ACCESSのマクロでテーブルのデ...
-
ワークテーブルなのに自動で削...
-
トリガって、自分自身のテーブ...
-
アクセス2010について
-
大量のレコードを削除する方法
-
Access2000の削除クエリで消し...
-
HiRDBのPURGEとDROPの違い
-
アクセスのクエリでレコード削...
-
削除フラグってどうなんでしょう?
-
列のDEFAULT設定を削除するコマ...
-
テーブルが削除できない
-
CSVファイルから一括して削除す...
-
物理削除と論理削除、どっちが...
-
リレーションについて
-
マージレプリケーション
-
SQLSERVERで関数作成?
-
すべてのテーブル削除
-
レコードの削除で delete from ...
-
アクセス通貨型or数値型について
おすすめ情報