Maison > base de données > tutoriel mysql > Quand l'erreur de délimiteur MySQL se produit-elle ?

Quand l'erreur de délimiteur MySQL se produit-elle ?

WBOY
Libérer: 2023-08-26 08:13:06
avant
1518 Les gens l'ont consulté

Quand lerreur de délimiteur MySQL se produit-elle ?

Le délimiteur MySQL se produit lorsque vous utilisez le délimiteur de canal (|) avec un point-virgule (;) et que vous utilisez une version MySQL antérieure à 8.0.12.

MySQL traite le tube (|) comme un délimiteur et le point-virgule (;) comme un autre délimiteur. Par conséquent, ne confondez pas les délimiteurs MySQL avec les barres verticales et les points-virgules.

Remarque : Ici, nous utilisons MySQL version 8.0.12. Les délimiteurs de barres fonctionnent bien avec les points-virgules. Si vous utilisez une version antérieure à 8.0.12, cela provoquera des erreurs de délimiteur.

Voici comment fonctionnent les délimiteurs MySQL :

mysql> delimiter |;
mysql> create procedure getSumOfTwoNumbers()
   -> begin
   -> select 2+3 as TotalValue;
   -> end ;
   -> |;
Query OK, 0 rows affected (0.17 sec)
mysql> delimiter ;
Copier après la connexion

Appelez maintenant la procédure stockée à l'aide de la commande call. La requête est la suivante :

mysql> call getSumOfTwoNumbers();
Copier après la connexion

Voici le résultat :

+------------+
| TotalValue |
+------------+
|          5 |
+------------+
1 row in set (0.00 sec)
Query OK, 0 rows affected (0.01 sec)
Copier après la connexion

N'utilisez pas de point-virgule pour implémenter le délimiteur de tube ci-dessus car dans MySQL, le point-virgule est le délimiteur par défaut et il indique la fin de l'instruction dans MySQL. Ainsi, lorsque vous écrivez plusieurs instructions, vous pouvez utiliser des points-virgules pour revenir des procédures stockées MySQL.

Voici un exemple de changement de délimiteur.

Tout d’abord, utilisez le délimiteur de canal (|). Si vous souhaitez définir le séparateur sur un tube, utilisez la requête suivante.

mysql> DELIMITER |
Copier après la connexion

La requête pour créer la procédure stockée est la suivante :

mysql> DELIMITER |
mysql> create procedure Demo()
   -> begin
   -> select 2*3 as TotalMultiplication;
   -> end ;
   -> |
Query OK, 0 rows affected (0.12 sec)
Copier après la connexion

Changez maintenant le délimiteur par un point-virgule. Si vous souhaitez définir le délimiteur sur un point-virgule, utilisez la requête suivante.

La requête est la suivante :

mysql> delimiter ;
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal