web-dev-qa-db-fra.com

Comment résoudre une erreur 1064 (42000)?

DROP PROCEDURE IF EXISTS proc_x;
DELIMITER #
CREATE DEFINER=`root`@`localhost`  PROCEDURE proc_x(sequel CHAR)
proc_main:BEGIN
SET @SQL = CONCAT(@sequel);
PREPARE stmt FROM @SQL;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
END proc_main #

Ci-dessus est une syntaxe de création de procédure stockée dans ma base de données MySQL. Lorsque j'exécute la déclaration suivante, j'obtiens une erreur.

CALL proc_x("INSERT  INTO tbl_rec(id,name,brnachID) values(10,'Krunal',07)");

Erreur: Erreur 1064 (42000) à la ligne 93: Vous avez une erreur dans votre syntaxe SQL; Vérifiez le manuel qui correspond à votre version de Server MySQL pour la bonne syntaxe à utiliser près de 'NULL' à la ligne 1

Quelqu'un peut-il m'aider à résoudre?

Actuellement, j'utilise MySQL sur UNIX.

3
Krunal Patel

Faites les modifications dans votre requête comme suit:

INSERT INTO table_name (`column1`, `column2`) values ('val1', 'val2');

Notez que les noms de colonne sont enfermés dans `(Caractère au-dessus de l'onglet) et non dans des guillemets

0
KayV