Bonjour,
Je suis tout nouveau dans l'utilisation de mysql.
Je m'occupe d'une petite compagnie de théâtre, et dans ce cadre je voudrais un table contenant des renseignements administratifs sur des employés intermittents.
Je pensais utiliser mcrypt, pour "brouiller" les données.
Ayant lu certains tuto présents ici (d'ailleurs en général, ils sont très efficaces, il faut le dire), il est conseillé de déclarer les données en blob.
Je cherche donc à créer ma table (avec phpmyadmin), mais j'ai systématiquement des erreurs que je ne comprends pas (bon déjà à la base, moi et l'anglais...).
Je vous mets la requête de création qui pose problème :
CREATE TABLE `compta2`.`employe` (
`employe_Z1` TINYBLOB NOT NULL ,
`employe_Z2` TINYBLOB NOT NULL ,
`employe_Z3` TINYBLOB NOT NULL ,
`employe_Z4` TINYBLOB NOT NULL ,
`employe_Z5` TINYBLOB NOT NULL ,
`employe_Z6` TINYBLOB NOT NULL ,
`employe_Z7` TINYBLOB NOT NULL ,
`employe_Z8` TINYBLOB NOT NULL ,
`employe_Z9` TINYBLOB NOT NULL ,
`employe_Z10` TINYBLOB NOT NULL ,
`employe_Z11` TINYBLOB NOT NULL ,
`employe_Z12` TINYBLOB NOT NULL ,
`employe_Z13` TINYBLOB NOT NULL ,
`employe_Z14` BOOL NOT NULL DEFAULT '1',
`employe_Z15` TINYBLOB NOT NULL ,
`employe_Z16` BOOL NOT NULL DEFAULT '1',
PRIMARY KEY ( `employe_Z1` ) ,
INDEX ( `employe_Z2` )
) ENGINE = MYISAM ;
Le message d'erreur :
#1170 - BLOB/TEXT column 'employe_Z1' used in key specification without a key length
J'ai testé plusieurs trucs, les seuls qui fonctionnent sont ceux où il n'y a pas de clé spécifiée.
Si je comprends bien le message, (mais je rappelle que l'anglais n'est pas mon meilleur ami), il y a problème car je demande la création d'une clé sans spécifier sa taille, c'est ça ?
Ceci dit, j'ai essayé, mais j'ai quand même eu un message.
Une idée ?
Autre chose : N'aurais-je pas intérêt à définir en char plutôt que blob, en sachant que je peux savoir la taille de chacune de mes données ?
Cela peut-il créer des problèmes de lecture des données, vu que celles-ci sont cryptées ?
EDIT : Je m'auto répond, je viens de trouver que je peux déclarer en char avec l'argument Binary qui devrait résoudre mon problème. Par contre, je ne pense pas que ça résoudra le message d'erreur. Je vais tenter quand même.
Merci d'avance pour votre aide.
Michel