Maison > Questions et réponses > le corps du texte
J'ai essayé de créer une table dans MySQL en utilisant la commande suivante :
CREATE TABLE keys (id INT(10), key VARCHAR(100));
Mais cela me donne toujours une erreur similaire à celle-ci :
Erreur 1064 (42000) : Il y a une erreur dans votre syntaxe SQL ; consultez le manuel de la version de votre serveur MySQL pour une utilisation près de "keys (id INT(10), key VARCHAR(100))" à la ligne 1. La syntaxe correcte pour `
P粉2535186202023-09-13 13:54:33
Vous devez faire très attention lorsque vous nommez les tables et les colonnes, car vous pourriez rencontrer de nombreux problèmes à l'avenir.
Je recommande de trouver des noms qui ne sont pas des Mots réservés MySQL.
Si vous souhaitez conserver ces noms, vous devez les entourer de backticks.
mysql> CREATE TABLE keys (id INT(10), key VARCHAR(100)); 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 'keys (id INT(10), key VARCHAR(100))' at line 1 mysql> CREATE TABLE `keys` (id INT(10), `key` VARCHAR(100)); Query OK, 0 rows affected, 1 warning (0.97 sec) mysql> show create table keys; 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 'keys' at line 1 mysql> mysql> mysql> show create table `keys`; +-------+-----------------------------------------------------------------------------------------------------------------------------------------------------+ | Table | Create Table | +-------+-----------------------------------------------------------------------------------------------------------------------------------------------------+ | keys | CREATE TABLE `keys` ( `id` int DEFAULT NULL, `key` varchar(100) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci | +-------+-----------------------------------------------------------------------------------------------------------------------------------------------------+ 1 row in set (0.01 sec)
Veuillez noter que vous devez utiliser des backticks lorsque vous utilisez des tableaux
P粉6499901632023-09-13 13:29:28
Donc, le nom de la tablekeys
和字段key
都是在Mysql命名空间中保留的。如果您选择一个不同的表名(例如keys_tbl
)并将第二个字段重命名为key_id
et votre code fonctionneront correctement.