Maison  >  Article  >  base de données  >  Impossible de créer la table 'nom_table' (numéro d'erreur : 139) - Comment résoudre l'erreur MySQL : Impossible de créer la table, numéro d'erreur : 139

Impossible de créer la table 'nom_table' (numéro d'erreur : 139) - Comment résoudre l'erreur MySQL : Impossible de créer la table, numéro d'erreur : 139

PHPz
PHPzoriginal
2023-10-05 08:58:441457parcourir

Can't create table 'table_name' (errno: 139) - 如何解决MySQL报错:无法创建表,错误编号:139

Impossible de créer la table 'nom_table' (numéro d'erreur : 139) - Comment résoudre l'erreur MySQL : Impossible de créer la table, numéro d'erreur : 139, besoin d'exemples de code spécifiques

Lors du développement de bases de données, nous rencontrons souvent des exigences de création de table . Cependant, vous pouvez parfois rencontrer des erreurs lors de la création de tables dans MySQL, dont l'erreur numéro 139. Cet article explique comment résoudre ce problème et fournit des exemples de code spécifiques.

Tout d’abord, comprenons ce que signifie cette erreur. Lorsque MySQL ne parvient pas à créer une table, il renvoie un numéro d'erreur, où 139 signifie "Un champ dans la définition de la table a une longueur ou une précision non valide." En d’autres termes, la longueur ou le nombre de chiffres après la virgule décimale d’un champ du tableau que vous avez créé ne répond pas aux exigences.

Alors comment résoudre ce problème ? Voici quelques solutions :

  1. Vérifiez le type et la longueur du champ dans la définition du tableau
    Tout d'abord, vous devez vérifier le type et la longueur du champ que vous avez spécifiés lors de la création du tableau. Par exemple, si vous créez une table nommée « nom_table » et spécifiez un champ de type chaîne d'une longueur de 10 lors de la définition du champ, vous devez confirmer que la longueur de votre champ est correcte. Assurez-vous que la longueur de votre champ ne dépasse pas la limite du type de champ correspondant.

    Voici un exemple de code :

    CREATE TABLE `table_name` (
      `id` INT(11) NOT NULL AUTO_INCREMENT,
      `name` VARCHAR(10),
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  2. Vérification de la précision du champ
    Une autre cause possible de l'erreur 139 est que la précision du champ est incorrecte. Si vous définissez un champ de type DECIMAL lorsque vous créez la table et spécifiez le nombre de chiffres après la virgule (par exemple, DECIMAL(10, 2)), assurez-vous que la valeur réelle de votre champ ne comporte pas plus de chiffres après la virgule. point décimal que vous avez défini dans le tableau, le nombre de chiffres spécifié dans .

    Voici un exemple de code :

    CREATE TABLE `table_name` (
      `id` INT(11) NOT NULL AUTO_INCREMENT,
      `price` DECIMAL(10, 2),
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  3. Vérifiez la version de MySQL
    De plus, vous devez vous assurer que la version de MySQL que vous utilisez prend en charge le type et la longueur de champ que vous avez utilisés lors de la création de la table. Certains types et longueurs de champs peuvent avoir des restrictions différentes selon les versions de MySQL. Si vous constatez que votre définition de table peut être créée avec succès dans une version de MySQL, mais que l'erreur 139 est signalée dans une autre version, cela peut être dû au fait que la version de MySQL que vous utilisez ne prend pas en charge le type ou la longueur du champ.

Enfin, si vous rencontrez un problème qui ne peut pas être résolu, vous pouvez consulter la documentation officielle de MySQL ou demander de l'aide à la communauté MySQL. Il est possible qu'ils aient une explication et une solution plus approfondies à ce problème.

Pour résumer, lorsque vous rencontrez l'erreur numéro 139 lors de la création d'une table dans MySQL, vous devez vérifier soigneusement le type, la longueur et la précision du champ dans la définition de la table pour vous assurer qu'ils sont conformes aux spécifications. Si le problème persiste, vous pouvez envisager de vérifier si la version de MySQL que vous utilisez prend en charge le type et la longueur de champ que vous avez définis. J'espère que cet article pourra vous aider à résoudre l'erreur MySQL 139 et fournir des exemples de code pertinents.

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:
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