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

Nie można uruchomić zapytania w składni MySQL nieoczekiwany błąd

Problem z tym:

DELIMITER $$
DROP PROCEDURE IF EXISTS my_test;
CREATE PROCEDURE my_test() ...

jest to, że MySQL nie widzi średnika na końcu DROP PROCEDURE wiersz instrukcji jako koniec instrukcji. Dzieje się tak, ponieważ poprzednia linia informowała MySQL, że terminator instrukcji jest czymś innym niż średnikiem. Powiedziałeś MySQL, że instrukcje zostaną zakończone dwoma znakami dolara. Więc MySQL czyta DROP PROCEDURE wiersz, szukając terminatora instrukcji. A cały blob, który czyta, NIE jest prawidłową instrukcją MySQL, generuje błąd składni.

Poprawka:albo przenieś DROP PROCEDURE wiersz przed DELIMITER $$ linia; lub zakończ DROP PROCEDURE oświadczenie z określonym ogranicznikiem, a nie średnikiem.

Drugim zgłaszanym problemem jest błąd składni. Dzieje się tak, ponieważ MySQL nie rozpoznaje IF jako początek poprawnej instrukcji SQL.

IF oświadczenie jest ważne tylko w kontekście programu przechowywanego w MySQL (na przykład w ramach CREATE PROCEDURE oświadczenie.)

Poprawka:użyj IF instrukcja tylko w kontekście programu przechowywanego w MySQL.

Trzecim problemem, który zgłaszasz, jest również błąd składni. Dzieje się tak, ponieważ nie masz prawidłowej składni dla SET oświadczenie; Składnia MySQL dla SET instrukcja do przypisania wartości do zmiennej użytkownika to:

SET @uservar = expr 

MySQL oczekuje wyrażenia po znaku równości. MySQL nie oczekiwanie na instrukcję SQL.

Aby przypisać wartość do zmiennej użytkownika jako wynik SELECT instrukcji, wykonaj przypisanie w instrukcji SELECT, na przykład:

SELECT @Count := Count(id) FROM `tbl_object_users` WHERE `username`='jp2code'

Zauważ, że operator przypisania wewnątrz SELECT oświadczenie to := (dwukropek równa się), nie tylko = .



  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. Zdalny dostęp phpMyAdmin

  2. PHP myAdmin — Zmień kolejność pól (przesuń w górę lub w dół)

  3. ZAPYTANIE SQL NA WIELU TABELACH

  4. Funkcja MySQL STR_TO_DATE nie działa przez jakiś czas

  5. Jakie są relacje wewnętrzne zdefiniowane w phpMyAdmin?