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

unique key sur un champ text long


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut unique key sur un champ text long
    Bonsoir,

    Code sql mysql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    CREATE TABLE `latable` (
    	`id` INT(11) NOT NULL,
    	`chaine` TEXT(65535) NOT NULL ,
            unique key (`chaine`)
    )
    COLLATE='utf8_general_ci'
    ENGINE=InnoDB
    ;

    Comment avoir un champ texte de 15000 ou 20000 caractères (voir plus) en unique key sur mysql ? Un char , un varchar ?

    Merci de m'aiguiller

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 010
    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 : 22 010
    Billets dans le blog
    6
    Par défaut
    Ha quand on peut faire la pire merde !!!!! Pourquoi pas aussi une unicité sur l'ensemble des données de la base ?

    Il faudrait peut être revoir les fondamentaux et ce qu'est la notion de clé !
    https://sqlpro.developpez.com/cours/...ociation#LII-E
    https://sgbd.developpez.com/actu/859...es-par-fsmrel/


    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Citation Envoyé par SQLpro Voir le message
    Ha quand on peut faire la pire merde !!!!!
    Oui c'est vrai que l'exemple en question est assez absurde que je donne

    Citation Envoyé par SQLpro Voir le message
    Pourquoi pas aussi une unicité sur l'ensemble des données de la base ?
    Je suis en train de faire un test sur un jeu de données bidon pour voir comment se comporte la base.

    Je me suis basé sur un précédent exemple vu dans le cadre d'une utilisation de pentaho. Dans pentaho il existe un module qui permet d'intégrer en masse la data . Lorsqu'un doublon est detecté, la programme compile et éjecte automatiquement le doublon.

    D'ou mon interrogation et ma tentative de reproduction du comportement observé.

    En somme "une clef longue de plusieurs centaines/milliers de caractères est il possible ? ". En gros ne pas passer par le "select distinct" , ni un char/varchar/int en primary key.

    Citation Envoyé par SQLpro Voir le message
    Il faudrait peut être revoir les fondamentaux et ce qu'est la notion de clé !
    https://sqlpro.developpez.com/cours/...ociation#LII-E
    https://sgbd.developpez.com/actu/859...es-par-fsmrel/

    A +
    Pas besoin d'incendier

  4. #4
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 640
    Billets dans le blog
    10
    Par défaut
    Bonjour

    Citation Envoyé par tanaka59 Voir le message
    En somme "une clef longue de plusieurs centaines/milliers de caractères est il possible ? ". En gros ne pas passer par le "select distinct" , ni un char/varchar/int en primary key.

    Pas besoin d'incendier
    Hum, donc, plutôt que d'exécuter de temps à autres une requête avec la clause "distinct" la solution serait de pourrir par construction les index de la table et donc tous les ordres de mise à jour (insert, update, delete) la concernant, mais aussi les utilitaires et bien sûr, l'espace disque...

    Si le besoin du distinct est avéré (c'est rarement le cas) il sera nettement préférable qu'une contrainte unique sur une colonne texte !

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Citation Envoyé par escartefigue Voir le message
    Si le besoin du distinct est avéré (c'est rarement le cas) il sera nettement préférable qu'une contrainte unique sur une colonne texte !
    Voilà , c'est que j'essaye de faire une contrainte unique sur du texte ... Hors ma version Mysql reste bloqué en char/varchar 255 ... Pas de "text" ... D'ou mon interrogation , dans le cadre d'un dédoublonnage par exemple ...

  6. #6
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 640
    Billets dans le blog
    10
    Par défaut
    Je dis l'inverse : il est préférable de faire un select distinct plutôt qu'un index uniue sur ce type de colonne !

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

Discussions similaires

  1. folding sur un champ texte (texte rétractable)
    Par mollig dans le forum SWT/JFace
    Réponses: 5
    Dernier message: 15/06/2006, 04h14
  2. filtre numérique sur un champ texte
    Par debdev dans le forum Access
    Réponses: 15
    Dernier message: 26/05/2006, 17h45
  3. requete sur un champs text
    Par sam01 dans le forum Requêtes
    Réponses: 1
    Dernier message: 10/03/2006, 13h41
  4. Probleme d'UPDATE sur un champ text
    Par Nip dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 08/07/2005, 11h35
  5. Boucler sur des champs texte
    Par syl2095 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 25/11/2004, 16h15

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