Maison  >  Article  >  base de données  >  Quelles propriétés ont les variables utilisateur MySQL ?

Quelles propriétés ont les variables utilisateur MySQL ?

WBOY
WBOYavant
2023-09-08 09:29:07587parcourir

Quelles propriétés ont les variables utilisateur MySQL ?

Voici les propriétés des variables utilisateur MySQL -

Insensible à la casse

Les variables utilisateur ne sont pas sensibles à la casse. Avant les versions MySQL 5, ils étaient sensibles à la casse. Cela peut être illustré par l'exemple suivant -

Exemple

mysql> SET @A = 'MySQL';
Query OK, 0 rows affected (0.00 sec)

mysql> Select @A, @a;
+-------+-------+
| @A    | @a    |
+-------+-------+
| MySQL | MySQL |
+-------+-------+
1 row in set (0.00 sec)

Spécifique à la connexion client

En fait, les variables utilisateur sont spécifiques à la connexion client qui les utilise et n'existent que pour la durée de cette connexion. Lorsqu'une connexion se termine, toutes ses variables utilisateur sont perdues.

Fonctionne uniquement avec des expressions

Les variables utilisateur ne peuvent apparaître que là où les expressions sont autorisées. Ils peuvent apparaître là où apparaissent des constantes ou des identifiants littéraux. Ceci est illustré dans l'exemple suivant où nous essayons d'utiliser une variable utilisateur pour fournir le nom de la table.

Exemple

mysql> Set @table_name = CONCAT('tbl_','Employee');
Query OK, 0 rows affected (0.00 sec)

mysql> Create Table @table_name(Id Int);
ERROR 1064 (42000): You have an error in your SQL syntax near '@table_name(Id Int)'

Perdu lors de l'attribution d'une nouvelle valeur

La valeur de la variable utilisateur sera perdue lorsque nous attribuons une nouvelle valeur en lui donnant une nouvelle valeur. En d’autres termes, la valeur d’une variable utilisateur donnée existera jusqu’à ce que nous lui attribuions une autre valeur. L'exemple suivant le démontrera -

Example

mysql> SET @name = 'Rahul';
Query OK, 0 rows affected (0.00 sec)

mysql> Select @name;
+-------+
| @name |
+-------+
| Rahul |
+-------+
1 row in set (0.00 sec)

À ce moment, la valeur de la variable @name est "Rahul", mais lorsque nous changeons la valeur en "Raman", la valeur précédente sera perdue.

mysql> SET @name = 'Raman';
Query OK, 0 rows affected (0.00 sec)

mysql> Select @name;
+-------+
| @name |
+-------+
| Raman |
+-------+
1 row in set (0.00 sec)

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer