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 ?

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Libérer: 2023-08-26 08:13:06
avant
1573 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!

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