Insert ignore into (mysql)

Résolu
djflexlive Messages postés 557 Date d'inscription   Statut Membre Dernière intervention   -  
djflexlive Messages postés 557 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Voici ma structure de table :
CREATE TABLE IF NOT EXISTS 'md5_words_1' (
'id' int(11) unsigned NOT NULL AUTO_INCREMENT,
'word' varchar(255) NOT NULL,
'md5' varchar(32) NOT NULL,
'sha1' varchar(40) NOT NULL,
PRIMARY KEY ('id'),
UNIQUE KEY 'word' ('word'),
KEY 'md5' ('md5'),
KEY 'sha1' ('sha1')
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=6 ;

J'aimerai que sur un 'INSERT IGNORE INTO' je puisse ajouter un champs si la casse est différente, mais cela ne fonctionne pas car ce sont des chams unique (word)

Par ex. admin et Admin devraient etre sauvegardés.

Merci.


2 réponses

Utilisateur anonyme
 
Bonjour

Les collations ('interclassement') par défaut sont insensibles à la casse, c'est ce que signifie le _ci (case insensitive) à la fin de leurs noms.
Avec mysql, en utf-8, tu es obligé d'utiliser la collation utf8_bin qui est la seule sensible à la casse :

...
'word' VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL...
0
djflexlive Messages postés 557 Date d'inscription   Statut Membre Dernière intervention   95
 
Décidément, j'en apprends tous les jours sur MySql ...

Merci à toi!
0