Résoudre les questions de syntaxe mysql CREATE TABLE
P粉347804896
P粉347804896 2023-09-12 15:19:08
0
2
502

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粉347804896
P粉347804896

répondre à tous(2)
P粉253518620

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粉649990163

Donc, le nom de la tablekeys和字段key都是在Mysql命名空间中保留的。如果您选择一个不同的表名(例如keys_tbl)并将第二个字段重命名为key_id et votre code fonctionneront correctement.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!