sql >> Databáze >  >> Database Tools >> phpMyAdmin

Chyba syntaxe spouštěče phpmyadmin mysql

Existuje mnoho chyb, které je třeba opravit.

  1. Žádný konec prohlášení.
  2. Nedodrženo žádné pořadí syntaxe.
  3. Deklarace proměnných není správná.
  4. Výběr do proměnných ze sloupce není správný.
  5. Hodiny se závorkou nejsou podporovány.
  6. Je tabulka inserted obsahuje pouze jeden řádek? Jinak potřebujete where klauzule nebo limit .
  7. atd.

Raději pracujte, abyste se naučili více.
Viz Syntaxe a příklady spouštěčů pro lepší pochopení.

Změňte svůj kód následovně a může fungovat, pokud je na vašich databázových objektech vše v pořádku.

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. Jak najdu v databázi MySQL konkrétní název sloupce?

  2. SQL Server Management Studio – Dokumenty s kartami

  3. Vkládejte data UTF8 pohodlně do MySQL

  4. phpmyadmin - count():Parametr musí být pole nebo objekt, který implementuje Countable