sql >> データベース >  >> RDS >> Mysql

#1442-このストアド関数/トリガーを呼び出したステートメントによって既に使用されているため、ストアド関数/トリガーのテーブル'*'を更新できません

    テーブルはすでにINSERT INTO.. SELECTによって読み取られているため、テーブルを更新することはできません。 このトリガーを呼び出すクエリ。

    別の方法は、トリガーを無効にして、ユーザーテーブルを個別に更新することです。例:

    INSERT INTO signed (time_of_start, player)
    SELECT time_of_game_id, users.user_id FROM time_of_game, users
    WHERE time_of_game.time_of_start="2017-02-01 12:00:00"
    AND users.steamid="1234567890123456";
    
    UPDATE users join time_of_game SET users.credit = users.credit-1
    where time_of_game.time_of_start="2017-02-01 12:00:00"
    AND users.steamid="1234567890123456";
    

    ONで結合列を追加できます これらの2つのテーブルをリンクする列がある場合は句。




    1. Oracle 11g Express Edition for Windows 64ビット?

    2. MySql:特定のレコードの行番号を検索します

    3. ディメンションのディメンション:データウェアハウスの最も一般的なディメンションテーブルタイプの概要

    4. データベースの高可用性の比較-MySQL/MariaDBレプリケーションとOracleDataGuard