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

MS SQL Server Discussion :

Creation d'un table par le biais de php


Sujet :

MS SQL Server

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 161
    Points : 72
    Points
    72
    Par défaut Creation d'un table par le biais de php
    Bonjour a tous,
    j'ai un petit soucis pour la creation d'une table par le biais d'un script php !!

    ca merde au niveau des KEY


    La PRIMARY KEY est ok mais pas les autres auriez vous une astuce pour y arriver ?? je vous remerci par avance

    pourquoi si je fait :

    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
    CREATE TABLE forum_attachments (
      att_id decimal identity,
      post_id int(11) NOT NULL default '0',
      topic_id int(11) NOT NULL default '0',
      forum_id int(11) NOT NULL default '0',
      unixdate int(11) NOT NULL default '0',
      att_name varchar(255) NOT NULL default '',
      att_type varchar(64) NOT NULL default '',
      att_size int(11) NOT NULL default '0',
      att_path varchar(255) NOT NULL default '',
      inline char(1) NOT NULL default '',
      apli varchar(10) NOT NULL default '',
      compteur int(11) NOT NULL default '0',
      visible tinyint(1) NOT NULL default '0',
      PRIMARY KEY (att_id),
      KEY (post_id),
      KEY (topic_id),
      KEY (apli),
      KEY (visible),
      KEY (forum_id)
    )

  2. #2
    Membre régulier
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 161
    Points : 72
    Points
    72
    Par défaut
    et existe il un equivalent blob de mysql sous mssql

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 862
    Points : 53 013
    Points
    53 013
    Billets dans le blog
    6
    Par défaut
    Beaucoup d'horreur dans votre code SQL.

    1) inutile de mettre des apostrophes pour spécifier des entiers pour vos valeur par défaut. Les aspostrophes sont réservées aux chaines de caractères.
    2) KEY tout seul n'existe pas en SQL... D'ou sortez vous cette syntaxe ? D'un SGBDR qui fait n'importe quoi et ne respecte pas la norme SQL... Que voulez vous dire avec ce KEY ??? Contrainte d'unicité ??? Index ???
    3) les entiers INT n'ont pas de dimension. Un INT (ou INTEGER) est toujours de 32 bits (norme SQL). Si vous voulez plus petit prenez un SMALLINT (16 bits) ou un BIGINT (64 bits).
    4) enfin pour les "LOB"s vous avez différents choix... Pour les CLOB (normes SQL) c'est TEXT sous 2000 et VARCHAR(max) sous 2005. Pour les NCLOB c'est NTEXT pour 2000 et NVARCHAR(max) sous 2005 enfin pour les BLOB (vidéo, image, sons...), c'est IMAGE pour 2000 ou VARBINARY(max) pour 2005.
    5) pour ce qui est du booléen, car je suppose que la colonne visible(1) signifie cela, c'est BIT qu'il faut employer sous SQL Server, avec un défaut à 0 ou 1

    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
    CREATE TABLE forum_attachments (
      att_id decimal identity,
      post_id int NOT NULL DEFAULT 0,
      topic_id int NOT NULL DEFAULT 0,
      forum_id int NOT NULL DEFAULT 0,
      unixdate int NOT NULL DEFAULT 0,
      att_name varchar(255) NOT NULL DEFAULT ,
      att_type varchar(64) NOT NULL DEFAULT ,
      att_size int NOT NULL DEFAULT 0,
      att_path varchar(255) NOT NULL DEFAULT ,
      inline char(1) NOT NULL DEFAULT ,
      apli varchar(10) NOT NULL DEFAULT ,
      compteur int NOT NULL DEFAULT 0,
      visible bit NOT NULL DEFAULT 0,
      PRIMARY KEY (att_id)
    )


    En bref, il serait temps d'apprendre le langage SQL et non un bouliboulga hérité d'un SGBDR dialectiquement incorrect...
    Mon site web, comme mes bouquins peuvent vous y aider !

    A +

  4. #4
    Membre régulier
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 161
    Points : 72
    Points
    72
    Par défaut
    Citation Envoyé par SQLpro Voir le message
    Beaucoup d'horreur dans votre code SQL.

    2) KEY tout seul n'existe pas en SQL... D'ou sortez vous cette syntaxe ? D'un SGBDR qui fait n'importe quoi et ne respecte pas la norme SQL... Que voulez vous dire avec ce KEY ??? Contrainte d'unicité ??? Index ???
    En bref, il serait temps d'apprendre le langage SQL et non un bouliboulga hérité d'un SGBDR dialectiquement incorrect...
    Mon site web, comme mes bouquins peuvent vous y aider !

    A +
    il s'agit d'une generation de phpmyadmin pour mysq, je suis d'accord avec vous mais il faut bien passer par ce type de forum et tomber avec des personnes comme vous pour avoir des reponses correctes !!

    sinon pour le type de key ce serait plus des clefs de type unicité donc comme faire ?? car UNIQUE ne fonctionne pas

    et promis je corrige deja le maximun par rapport a ce que vous avez pu m'apporter !!

  5. #5
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 862
    Points : 53 013
    Points
    53 013
    Billets dans le blog
    6
    Par défaut
    Une contrainte d'unicité si elle est monocolonne se note avec la colonne. Si elle est multi colonne (ou même mono colonne) doit se noter en tant que contrainte. Voir les descriptions syntaxiques que je donne ici :
    UNIQUE monocolonne :
    http://sqlpro.developpez.com/cours/s...partie2#L7.1.5
    UNIQUE multi colonne :
    http://sqlpro.developpez.com/cours/s...partie2#L7.2.2

    A +

Discussions similaires

  1. Réponses: 1
    Dernier message: 03/04/2014, 23h29
  2. Modifier une table par le biais d'un formulaire
    Par cecilouchou dans le forum Langage
    Réponses: 1
    Dernier message: 06/08/2013, 10h50
  3. Réponses: 8
    Dernier message: 06/09/2012, 13h41
  4. CREATION DE TABLES PAR TRIGGER ou PROCEDURE STOCKEE
    Par kimausoleil dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 31/07/2009, 11h08
  5. Creation d'une table par étapes
    Par freestyler dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 26/06/2008, 11h35

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