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

phpmyadmin mysql trigger syntaxisfout

Er zijn veel fouten die moeten worden gecorrigeerd.

  1. Geen einde van uitspraken.
  2. Geen volgorde van syntaxis gevolgd.
  3. Declaratie van variabelen is niet correct.
  4. Selectie in variabelen uit een kolom is niet correct.
  5. Brace-gebaseerde klokken worden niet ondersteund.
  6. Is tabel inserted slechts één rij bevatten? Anders heb je een where . nodig clausule of limit .
  7. enz.

Je kunt maar beter meer werken om te leren.
Raadpleeg Triggersyntaxis en voorbeelden voor een beter begrip.

Wijzig uw code als volgt en het mag werk als alles goed is met uw database-objecten.

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. Ik heb verschillende opgeslagen procedures gemaakt in phpmyadmin, hoe kan ik ze aanroepen met een sql-query?

  2. phpmyadmin in xampp werkt niet op Windows 10

  3. Kan query niet uitvoeren in MySQL-syntaxisfout onverwacht

  4. Wat betekent het phpMyAdmin-pictogram (doos met boeken?) naast bepaalde databases?