phpMyAdmin
 sql >> база данни >  >> Database Tools >> phpMyAdmin

phpmyadmin mysql синтактична грешка на тригера

Има много грешки за коригиране.

  1. Без край на изразите.
  2. Не е спазен ред на синтаксис.
  3. Декларацията на променливите не е правилна.
  4. Изборът на променливи от колона не е правилен.
  5. Часовниците, базирани на скоби, не се поддържат.
  6. Таблица inserted съдържа само един ред? В противен случай имате нужда от 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. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. Грешка в съхранението на конфигурацията на phpMyAdmin

  2. Грешка при импортиране на база данни на phpMyadmin #1046 - Няма избрана база данни

  3. WAMP:phpmyadmin внезапно се повреди

  4. Защо имената на моите таблици се преобразуват в малки букви в phpmyadmin?

  5. Експортирането на PhpMyAdmin не включва PRIMARY KEY като mysqldump