sql >> Databasteknik >  >> Database Tools >> phpMyAdmin

phpmyadmin mysql trigger syntaxfel

Det finns många fel att rätta till.

  1. Inget slut på uttalanden.
  2. Ingen syntaxordning följde.
  3. Deklaration av variabler är inte korrekt.
  4. Inval i variabler från en kolumn är inte korrekt.
  5. Stagbaserade klockor stöds inte.
  6. Är tabellen inserted innehåller bara en rad? Annars behöver du en where sats eller limit .
  7. osv.

Du bör arbeta mer för att lära dig.
Se Triggersyntax och exempel för bättre förståelse.

Ändra din kod enligt följande och det kan fungerar om allt är bra på dina databasobjekt.

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. Skapa tabell genom att kopiera strukturen för befintlig tabell

  2. MAMP MySQL Kan inte ansluta:ogiltiga inställningar.

  3. SQL Server Default Database när Query - master

  4. Det går inte att exportera min .xlsx till min SQL Server 2008-databas