sql >> データベース >  >> Database Tools >> phpMyAdmin

phpmyadminmysqlトリガー構文エラー

    修正すべきエラーはたくさんあります。

    1. ステートメントの終わりはありません。
    2. 構文の順序はありません。
    3. 変数の宣言が正しくありません。
    4. 列から変数を選択するのは正しくありません。
    5. ブレースベースの時計はサポートされていません。
    6. テーブルをinsertedしますか 行が1つだけ含まれていますか?それ以外の場合は、whereが必要です 句またはlimit
    7. など


    トリガーの構文と例 より良い理解のために。

    次のようにコードを変更すると、可能性があります データベースオブジェクトですべてがうまくいっていれば機能します。

    drop trigger if exists after_jeu_insert;
    
    delimiter //
    
    CREATE TRIGGER after_jeu_insert after insert ON jeu for each row
    BEGIN
        DECLARE _game_id int;
        DECLARE _old_turn int;
        DECLARE _new_turn int;
    
        -- following line may not require limit clause
        -- if used proper where condition.
        SELECT idpartie into _game_id FROM INSERTED limit 1; 
    
        SELECT tour into _old_turn FROM partie WHERE idpartie = _game_id;
    
        IF _old_turn IS NULL then
            SET _new_turn = 1;
        ELSIF _old_turn = 1 then
            SET _new_turn = 2;
        ELSE
            SET _new_turn = 1;
        END IF;
    
        UPDATE partie 
           SET tour = _new_turn
             , derniercoup = NOW()
         WHERE idpartie = _game_id;
    END;
    //
    
    delimiter;
    



    1. SQLクエリは15分ごとに値を比較し、1時間ごとに結果を表示します

    2. データベース固有のオブジェクトを選択すると、SQL ServerManagementStudioの接続はデフォルトで「マスター」になります

    3. MySQL Workbenchをインストールしていますが、ファイル/etc/my.cnfが存在しません

    4. [サーバーに接続]ダイアログからキャッシュされたサーバー名を削除するにはどうすればよいですか?