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

Не може да се изпълни заявка в MySQL синтактична грешка, неочаквана

Проблем с това:

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

е, че MySQL не вижда точката и запетаята в края на DROP PROCEDURE ред на изявлението като край на изявлението. Това е така, защото предходният ред каза на MySQL, че терминаторът на израза е нещо различно от точка и запетая. Казахте на MySQL, че изявленията ще бъдат прекратени с два знака за долар. Така че MySQL чете DROP PROCEDURE ред, търсейки терминатора на израза. И целият blob, който чете, НЕ е валиден MySQL израз, той генерира синтактична грешка.

Поправката:или преместете DROP PROCEDURE ред преди DELIMITER $$ линия; или прекратете DROP PROCEDURE израз с посочения разделител, а не с точка и запетая.

Вторият проблем, който съобщавате, е синтактична грешка. Това се случва, защото MySQL не разпознава IF като начало на валиден SQL израз.

IF изявлението е валидно само в контекста на MySQL съхранена програма (например в рамките на CREATE PROCEDURE изявление.)

Корекцията:Използвайте IF изявление само в контекста на MySQL съхранена програма.

Третият проблем, който съобщавате, също е синтактична грешка. Това се случва, защото нямате валиден синтаксис за SET изявление; Синтаксис на MySQL за SET оператор за присвояване на стойност на потребителска променлива е:

SET @uservar = expr 

MySQL очаква израз след знака за равенство. MySQL не очаквате SQL изявление.

За да присвоите стойност на потребителска променлива като резултат от SELECT оператор, направете присвояването в рамките на оператора SELECT, например:

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

Имайте предвид, че операторът за присвояване вътре в SELECT изявлението е := (двоеточие е равно), а не само = .



  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. Как да настроя потребителската ми сесия на phpmyadmin да не изтече толкова бързо?

  2. Грешка при импортиране на PhpMyAdmin-MySQL сървърът е изчезнал/Неразпозната ключова дума

  3. xampp phpmyadmin, Неправилен параметър за формат

  4. как да добавите уникален композит към колона в таблицата mysql

  5. phpmyadmin премества текст от едно поле в друго