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

Requêtes et SQL. Discussion :

SQL Script Create table - Erreur


Sujet :

Requêtes et SQL.

  1. #1
    Membre éprouvé

    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    983
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 983
    Points : 1 030
    Points
    1 030
    Billets dans le blog
    36
    Par défaut SQL Script Create table - Erreur
    Bonjour à tous,

    J'ai ce script SQL de création de table

    Code SQL : 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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    CREATE TABLE zozo(
    EIA char ,
    LCN char ,
    ADDO char ,
    CTD char ,
    CON char ,
    CSR char ,
    CSP char ,
    DEM char ,
    DISC char ,
    HLC char ,
    ESS char ,
    INTU char ,
    INC char ,
    INTI char ,
    INV char ,
    LOD char ,
    WSO char ,
    OPR char ,
    PRSI char ,
    PRSO char ,
    PRO char ,
    RCB char ,
    RCC char ,
    RES char ,
    SAF char ,
    SEC char ,
    TRN char ,
    WST char ,
    TSS char,
    CONSTRAINT [PrimaryKey] PRIMARY KEY (EIACODXA));

    Mais son exécution via l'icône point d'exclamation (!) rouge génère le message suivant
    L'enregistrement est trop long
    Nom : CreateTableErreur.png
Affichages : 107
Taille : 30,7 Ko

    La question est pourquoi alors que le script ci-dessous récupéré sur un post du forum crée bien la table

    Code SQL : 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
    23
    24
    create table BATI4 (
       N_FICHE              char(5)              not null,
       DATE_                datetime             not null,
       NOM                  char(100)            not null,
       DISTRICT             char(255)            not null,
       ILOT                 char(200)            not null,
       ADR                  char(255)            not null,
       TYPE_CONSTR          char(255)            not null,
       USAGE                char(255)            not null,
       TYPE_STR             char(255)            not null,
       TYPE_STR_DET         char(255)            null,
       DATE_CONST           char(15)             not null,
       SS                   char(3)              not null,
       NB_SS                int                  null,
       RDC                  char(3)              not null,
       NB_RDC               int                  null,
       VIDE_SANT            char(3)              not null,
       DIM_STR_X            double      not null,
       DIM_STR_Y            double      not null,
       NB_TRAVEES           int                  not null,
       REGU_PLN             char(25)             not null,
       REG_ELV              char(25)             not null,
       constraint PK_BATI primary key  (N_FICHE)
    )

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    983
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 983
    Points : 1 030
    Points
    1 030
    Billets dans le blog
    36
    Par défaut
    Si je spécifie char(5) pas de problème !

    Une explication?

  3. #3
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 365
    Points : 23 835
    Points
    23 835
    Par défaut
    Bonjour.

    Pour créer une table utilise l'éditeur de requête de Access puis bascule la vue en SQL pour voir ce à quoi Access s'attend.
    Essayer de deviner la bonne syntaxe est simplement une source de frustration.
    Juste quelques champs peuvent te donner un sens de ce que ton SQL devrait être.

    Note que le SQL dans Access ne peut excéder 2000 caractères. Sinon je ne connais pas de limite à la taille d'un enregistrement.

    Et bien sur, si tu peux, passe simplement par l'interface de création de table, nettement plus confortable que le SQL.

    A+

  4. #4
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 830
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 830
    Points : 14 928
    Points
    14 928
    Par défaut
    bonsoir,
    essaie d'utiliser TEXT (ou VARCHAR à la rigueur) plus adapté aux bases Access
    par contre: (joker) pour une explication du pourquoi avec CHAR ...

Discussions similaires

  1. SQL requête CREATE TABLE
    Par jeanmi11 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 25/07/2011, 21h09
  2. [ZF 1.5] Débutant - Execution d'un requete SQL : SHOW CREATE TABLE
    Par Invité dans le forum Zend_Db
    Réponses: 2
    Dernier message: 04/05/2008, 23h44
  3. [MySQL] Create table : erreur sur foreign key
    Par Naksh-i dans le forum Langage SQL
    Réponses: 1
    Dernier message: 26/10/2006, 23h01
  4. récupération dynamique du script 'create table'
    Par Feyrehr dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 07/07/2006, 08h59
  5. [SQL] un create table qui devrait fonctionner
    Par klerdesign dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 28/06/2006, 14h05

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