sql >> Database >  >> Database Tools >> phpMyAdmin

Kan query niet uitvoeren in MySQL-syntaxisfout onverwacht

Probleem hiermee:

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

is dat MySQL de puntkomma niet ziet aan het einde van de DROP PROCEDURE instructieregel als het einde van de instructie. Dit komt omdat de voorgaande regel MySQL vertelde dat de instructieterminator iets anders was dan een puntkomma. U vertelde MySQL dat verklaringen zouden worden beëindigd met twee dollartekens. Dus MySQL leest de DROP PROCEDURE regel, op zoek naar de verklaring terminator. En de hele blob die het leest, is GEEN geldig MySQL-statement, het genereert een syntaxisfout.

De oplossing:verplaats ofwel de DROP PROCEDURE regel voor de DELIMITER $$ lijn; of beëindig de DROP PROCEDURE statement met het opgegeven scheidingsteken in plaats van een puntkomma.

Het tweede probleem dat u meldt, is een syntaxisfout. Dat gebeurt omdat MySQL IF . niet herkent als het begin van een geldig SQL-statement.

De IF verklaring is geldig alleen binnen de context van een in MySQL opgeslagen programma (bijvoorbeeld binnen een CREATE PROCEDURE verklaring.)

De oplossing:gebruik een IF verklaring alleen binnen de context van een MySQL opgeslagen programma.

Het derde probleem dat u meldt, is ook een syntaxisfout. Dat gebeurt omdat je geen geldige syntaxis hebt voor een SET uitspraak; MySQL-syntaxis voor SET statement om een ​​waarde toe te kennen aan de gebruikersvariabele is:

SET @uservar = expr 

MySQL verwacht een expressie na het gelijkteken. MySQL is niet verwacht een SQL-statement.

Een waarde toewijzen aan een gebruikersvariabele als het resultaat van een SELECT instructie, voer de toewijzing uit binnen de SELECT-instructie, bijvoorbeeld:

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

Merk op dat de toewijzingsoperator binnen de SELECT verklaring is := (dubbele punt is gelijk aan), niet alleen = .



  1. MySQL en PhpMyAdmin config.inc.php Wachtwoordprobleem op MAMP

  2. Hoe worden de knoppen 'bewerken', 'kopiëren' en 'verwijderen' weergegeven in phpMyAdmin?

  3. Tabelrelaties instellen wat doen Cascade, Set Null en Restrict?

  4. hoe gegevens met scheidingstekens in mysql in phpmyadmin te importeren