Rank est un mot réservé MySQL défini dans la version MySQL 8.0.2. Par conséquent, vous ne pouvez pas utiliser le classement comme nom de colonne. Vous devez utiliser des backticks autour du classement.
Vérifions d’abord la version de MySQL sur laquelle nous développons. Ici, j'utilise MySQL version 8.0.12 -
mysql> select version(); +-----------+ | version() | +-----------+ | 8.0.12 | +-----------+ 1 row in set (0.00 sec)
Le problème avec l'utilisation de "rank" comme nom de colonne est le suivant -
mysql> create table DemoTable1596 -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> StudentName varchar(20), -> rank int -> ); ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'rank int )' at line 5
Dans ci-dessus, puisque nous utilisons un mot réservé comme nom de colonne, l'erreur peut être vue.
Créons d'abord une table et utilisons des backticks autour de « rang » pour éviter les erreurs -
mysql> create table DemoTable1596 -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> StudentName varchar(20), -> `rank` int -> ); Query OK, 0 rows affected (0.51 sec)
Insérez quelques enregistrements dans la table à l'aide de la commande insert -
mysql> insert into DemoTable1596(StudentName,`rank`) values('Bob',4567); Query OK, 1 row affected (0.18 sec) mysql> insert into DemoTable1596(StudentName,`rank`) values('David',1); Query OK, 1 row affected (0.17 sec)
Utilisez l'instruction select pour afficher tous les enregistrements dans la table -
mysql> select * from DemoTable1596;
Cela permettra produire le résultat suivant -
+----+-------------+------+ | Id | StudentName | rank | +----+-------------+------+ | 1 | Bob | 4567 | | 2 | David | 1 | +----+-------------+------+ 2 rows 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!