挿入時に日付を現在の日付に自動的に設定する方法

名前なし

私は次の表を持っています

CREATE TABLE ex(
 id INTEGER PRIMARY KEY,
 dat DATE NOT NULL CHECK(dat IS date(dat))
);

そして、挿入するたびにdatを自動的にdate( 'now')に設定したいと思います。だから私はTRIGGERを作成しました

CREATE TRIGGER setTrigger
         AFTER INSERT
            ON ex
FOR EACH ROW
BEGIN   
    UPDATE ex   
        SET dat = date('now')
    WHERE id = NEW.id;
END;

しかし、次のエラーが発生します:

too many levels of recursion

どうすればこれを修正できますか?

MikeT

FOR EACH ROWを削除してみてください。必要はありません。これが、CHECK制約とともに再帰の原因である可能性があります。

もちろん、使用できるTRIGGERやCHECK制約も必要ありません。

CREATE TABLE ex(
 id INTEGER PRIMARY KEY,
 dat DATE DEFAULT CURRENT_DATE
);

あなたがしなければならない2つの列だけで注意してください INSERT INTO ex (ID) VALUES(null);

次のことも検討してください:-

トリガー再帰の最大深度

SQLiteは、再帰トリガーを含むステートメントが無制限の量のメモリを使用するのを防ぐために、トリガーの再帰の深さを制限します。

SQLiteバージョン3.6.18(2009-09-11)より前は、トリガーは再帰的ではなかったため、この制限は無意味でした。バージョン3.6.18以降、再帰トリガーがサポートされていましたが、PRAGMArecursive_triggersステートメントを使用して明示的に有効にする必要がありました。バージョン3.7.0(2009-09-11)以降、再帰トリガーはデフォルトで有効になっていますが、PRAGMArecursive_triggersを使用して手動で無効にすることができます。SQLITE_MAX_TRIGGER_DEPTHは、再帰トリガーが有効になっている場合にのみ意味があります。

デフォルトの最大トリガー再帰深度は1000です。

トリガー再帰の最大深度

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Excel-現在の日付/時刻をセルに自動的に挿入します

分類Dev

テーブルに自動インクリメントと現在の日付時刻を挿入する

分類Dev

日付と時刻の順に一時テーブルの自動IDを設定する方法

分類Dev

DateFormatを現在の日付と時刻に設定する

分類Dev

sqlitedatabaseに現在の日付を挿入する方法

分類Dev

入力タイプの日付に日付を設定する

分類Dev

挿入時にMongoDBに日付を自動入力

分類Dev

現在の日付を角度で入力フィールドに設定する方法

分類Dev

SQLServerの挿入時にのみ現在の日付/時刻を許可する

分類Dev

Oracleの日付列に曜日と時刻を挿入する

分類Dev

Oracleの日付列に曜日と時刻を挿入する

分類Dev

GMTの日付に時、分、秒を設定する方法

分類Dev

日付をvimに挿入する方法

分類Dev

文字vbaを入力した後に現在の日付を挿入する方法

分類Dev

MySQLの日付列に現在の日付が自動的に入力されます

分類Dev

SQLServer-挿入時に日付形式を設定

分類Dev

C#を使用してSQLの特定の列に現在の日付と時刻を挿入する方法

分類Dev

mysqlに日付と時刻を挿入して表示する方法

分類Dev

最大日付と最小日付を動的に設定するangularjsdatepicker

分類Dev

DateBox JqueryMobileで日付と時刻を動的に設定する

分類Dev

モーダルの日付入力タイプボックスに現在の日付を設定する

分類Dev

Tibco Spotfire、現在の日付に基づいて昨日の列を挿入する方法

分類Dev

SQLを使用してデータベースに現在の日付と時刻を挿入する方法

分類Dev

NoSqlに日付付きの生年月日を挿入する

分類Dev

日付と時刻をdatetimeで自動的に変更する方法

分類Dev

データベースmysqlに現在の日付を挿入する方法

分類Dev

日付の発生時にフラグを挿入する

分類Dev

SQLの日付フィールドに日付を挿入する方法

分類Dev

javascriptで現在の日に従って月、日付、日を動的にする方法は?

Related 関連記事

  1. 1

    Excel-現在の日付/時刻をセルに自動的に挿入します

  2. 2

    テーブルに自動インクリメントと現在の日付時刻を挿入する

  3. 3

    日付と時刻の順に一時テーブルの自動IDを設定する方法

  4. 4

    DateFormatを現在の日付と時刻に設定する

  5. 5

    sqlitedatabaseに現在の日付を挿入する方法

  6. 6

    入力タイプの日付に日付を設定する

  7. 7

    挿入時にMongoDBに日付を自動入力

  8. 8

    現在の日付を角度で入力フィールドに設定する方法

  9. 9

    SQLServerの挿入時にのみ現在の日付/時刻を許可する

  10. 10

    Oracleの日付列に曜日と時刻を挿入する

  11. 11

    Oracleの日付列に曜日と時刻を挿入する

  12. 12

    GMTの日付に時、分、秒を設定する方法

  13. 13

    日付をvimに挿入する方法

  14. 14

    文字vbaを入力した後に現在の日付を挿入する方法

  15. 15

    MySQLの日付列に現在の日付が自動的に入力されます

  16. 16

    SQLServer-挿入時に日付形式を設定

  17. 17

    C#を使用してSQLの特定の列に現在の日付と時刻を挿入する方法

  18. 18

    mysqlに日付と時刻を挿入して表示する方法

  19. 19

    最大日付と最小日付を動的に設定するangularjsdatepicker

  20. 20

    DateBox JqueryMobileで日付と時刻を動的に設定する

  21. 21

    モーダルの日付入力タイプボックスに現在の日付を設定する

  22. 22

    Tibco Spotfire、現在の日付に基づいて昨日の列を挿入する方法

  23. 23

    SQLを使用してデータベースに現在の日付と時刻を挿入する方法

  24. 24

    NoSqlに日付付きの生年月日を挿入する

  25. 25

    日付と時刻をdatetimeで自動的に変更する方法

  26. 26

    データベースmysqlに現在の日付を挿入する方法

  27. 27

    日付の発生時にフラグを挿入する

  28. 28

    SQLの日付フィールドに日付を挿入する方法

  29. 29

    javascriptで現在の日に従って月、日付、日を動的にする方法は?

ホットタグ

アーカイブ