IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQL Procédural MySQL Discussion :

MySQL 5 Probleme Data Truncated


Sujet :

SQL Procédural MySQL

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 11
    Par défaut MySQL 5 Probleme Data Truncated
    Bonjour,

    Voila maintenant plusieurs jours que je travail sur la migration d'une base de données de MySql 3.2 a MySql 5

    Je crée une table:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    CREATE TABLE table (
      id_news int(11) NOT NULL auto_increment,
      date_creation timestamp(14) NOT NULL,
      date_publication timestamp(14) NOT NULL,
      date_validite timestamp(14) NOT NULL,
      titre text,
      new_titre_borne varchar(255) default ' ',
      resume text NOT NULL,
      description text,
      image varchar(255) default NULL,
      align enum('0','1') default NULL,
      lien varchar(255) default NULL,
      actif enum('0','1') default NULL,
      difusion enum('0','1') NOT NULL default '0',
      priority int(11) NOT NULL default '0',
      PRIMARY KEY  (id_news),
      KEY date_validite (date_validite),
      KEY actif (actif),
      KEY difusion (difusion),
      KEY priority (priority)
    ) TYPE=MyISAM;
    Et je ne peux pas insérer de données dedans.
    Lors de l'insertion :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    INSERT INTO table VALUES (26,20030606152040,20030130000000,00000000000000,
    'Test',' ','','','','0','_localsearch.php?','1','',1);
    Il me marque l'erreur : Data truncated for column difusion.
    Apparemment il n'accepte pas le null pour le type enum et le default ne marche pas...

    Quelqu'un aurait une idée...???

  2. #2
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 287
    Par défaut
    Tu confonds le NULL avec la chaîne vide ('').

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    INSERT INTO table VALUES (26,20030606152040,20030130000000,00000000000000,
    'Test',' ','','','','0','_localsearch.php?','1',NULL,1);
    Il serait en outre judicieux de ne pas mettre NOT NULL dans la définition de ta colonne difusion...

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 11
    Par défaut
    Merci d'avoir pris le temps de regarder...

    Malheureusement, je en pense pas que NULL soit une solution puisque je ne dois pas avoir de valeur null dans ma base.

    C'est d'ailleur pour cela que je veux à tout pris que la valeur pas defaut soit selectionné dans le cas ou l'on ne mets rien.

    J'ai trouvé une solution qui ne me convient pas vraiment, car je devrais modifier tout le script sql de creation de la base de données qui est assez long.

    La solution est :

    INSERT INTO t_news( id_news , date_creation , date_publication , date_validite , titre , new_titre_borne , resume , description , image , align , lien , actif , priority )
    VALUES (26,20030606152040,20030130000000,00000000000000,'test',' ','test','','','0','_localsearch.php?keyword=banon&srcModule=4','1',1);

    Ce script me permet donc de prendre la valeur par défaut du enum. Seulement voila j'aimerai bien ne pas à avoir à modifier tout

    Merci encore

  4. #4
    Membre émérite Avatar de pop_up
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 877
    Par défaut
    Pour inserer quelque chose dans ton champ diffusion, tu peux pas utiliser une variable ?

    du style

    si on met rien alors ma variable = '0'
    sinon ma variable = ce que tu veux mettre

    inserer la variable

    non ?

  5. #5
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 287
    Par défaut
    - pour insérer la valeur par défaut, le + simple est encore d'utiliser le mot-clé DEFAULT...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    insert into ... values (..., DEFAULT) ;
    - si tu ne veux pas changer ton PHP, il te suffit de mettre un trigger BEFORE INSERT qui transforme le '' en la valeur souhaitée

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. data truncation avec Mysql
    Par ferhat.adel dans le forum Développement de jobs
    Réponses: 1
    Dernier message: 05/11/2012, 09h45
  2. [MySQL]error 1265 (01000) data truncated for column
    Par fayabobo dans le forum Requêtes
    Réponses: 2
    Dernier message: 09/05/2011, 15h43
  3. Mysql pb de data truncation
    Par Mengué georges dans le forum JDBC
    Réponses: 3
    Dernier message: 17/07/2007, 19h06
  4. Que signifie "Error : Data truncation" ??
    Par BouB dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 20/05/2005, 16h20
  5. probleme Data Treeview
    Par loleske dans le forum C++Builder
    Réponses: 5
    Dernier message: 28/02/2005, 09h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo