phpMyAdmin
 sql >> Baza danych >  >> Database Tools >> phpMyAdmin

Błąd składni wyzwalacza mysql phpmyadmin

Istnieje wiele błędów do poprawienia.

  1. Bez końca wypowiedzi.
  2. Nie przestrzegano kolejności składni.
  3. Deklaracja zmiennych jest nieprawidłowa.
  4. Wybór zmiennych z kolumny jest nieprawidłowy.
  5. Zegary oparte na klamrach nie są obsługiwane.
  6. Czy tabela inserted? zawierać tylko jeden wiersz? W przeciwnym razie potrzebujesz where klauzula lub limit .
  7. itd.

Lepiej pracuj więcej, aby się uczyć.
Proszę zapoznać się z Składnia i przykłady wyzwalaczy dla lepszego zrozumienia.

Zmień swój kod w następujący sposób, a może działa, jeśli wszystko jest w porządku na obiektach bazy danych.

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. Dostęp do żądanego obiektu jest możliwy tylko z sieci lokalnej phpmyadmin

  2. ustawianie strefy czasowej dla MySQL za pomocą PHPMyAdmin

  3. Zalogowałem się do phpmyadmina. Po zalogowaniu otrzymuję błąd.

  4. Połączenie dla użytkownika kontrolnego zdefiniowanego w konfiguracji nie powiodło się. xampp

  5. Zaktualizowałem do MariaDB 10.2.20, aby używać CTE. Nadal otrzymujesz typ Unrecognized Statement. (w pobliżu Z) w phpMyAdmin