|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre régulier
![]() |
Bonjour,
J'ai un probléme lors de l'insertion de données dans une table! Disons que j'ai une table avec 2 champs: 1 id int(9) primary auto-increment 2 name varchar(256) Quand je veux insérer une nouvelle valeur j'écris: Code :
INSERT INTO `wp_sr_employees` (`name`) VALUES ('toke') Ma question est comment dois je déclarer mon insert quand "id" est la clef et "autoincrement"? Sincérement Jean-Christophe
__________________
Sincérement Jean-Christophe |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : mars 2005 Messages : 1 565 ![]() |
Vous n'avez pas besoin de spécifier la valeur lorsque une colonne est de type auto incrément. Donc à priori, votre approche est la bonne.
Fournissez le script de création de cette table pour y voir un peu plus clair |
|
|
00
|
|
|
#3 | ||
|
Membre régulier
![]() |
Merci pour votre réponse vmolines
La syntaxe est due á wordpress, mais la commande fonctionne puisque la table est crée dans la database, et mes tentatives d'insertion sont faites via phpMyadmin. Code :
Jean-Christophe
__________________
Sincérement Jean-Christophe |
||
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Inscription : mars 2005 Messages : 1 565 ![]() |
Il faut que vous donniez le résultat complet de la commande "SHOW CREATE ..." . Exécuter cette commande SQL depuis PhpMyAdmin et donnez le résultat.
Merci |
|
|
00
|
|
|
#5 | ||
|
Membre régulier
![]() |
C'est moi qui vous remercie!
Code :
Jean-Christophe
__________________
Sincérement Jean-Christophe |
||
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() ![]() Inscription : janvier 2010 Messages : 1 084 ![]() |
Bonjour
Vous violez une contrainte d'unicité : Vous spécifiez que cellphone et email doivent être uniques, en plus d'être non nullable. Vous devez donc spécifier des valeurs pour toutes vos colonnes non nullables qui n'ont pas de valeur par défaut, et pour les colonnes ayant une contrainte d'unicité, vous assurer que la valeur que vous spécifiez n'existe pas déjà. dans la table |
|
|
10
|
|
|
#7 | |||
![]() ![]() |
Citation:
BIGINT aussi pour title... c'est quoi title ? M. Mme, Mle, Me ? 256 caractères partout, ça fait beaucoup aussi ! Un nom de 256 caractères, ça doit plutôt être rare ! Et je n'aimerais pas taper un numéro de téléphone à 256 chiffres ! ![]() Bref, il est temps d'optimiser la taille des colonnes à des dimensions plus raisonnables ! Et quand je vois des noms de colonnes au pluriel (competencies, networks, tasks...), j'ai l'impression qu'il y a là des colonnes multi données, ce qui est contraire à la première forme normale ! ![]() Il semble donc qu'il faille aussi revoir la structure de la BDD ! Quant au message d'erreur, comme l'a dit aieeeuuuuu, c'est dû au fait que vous ne donnez pas de valeur à des colonnes qui ont une contrainte d'unicité. La première insertion dans la table passe et attribue une chaîne vide par défaut à ces colonnes. La seconde insertion essaie de faire pareil et comme la chaîne vide existe déjà, ça viole la contrainte d'unicité et l'insertion est rejetée. Les colonnes minimum requises pour une insertion dans cette table sont cellphone et email.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|||
|
10
|
|
|
#8 |
|
Membre régulier
![]() |
Merci beaucoup de vos commentaires CinePhil & aieeeuuuuu
Je revoie tout ca! C'est vrai qu'il y a des colonnes multi données, mais le but de la table est de presenter les employées d'une entreprise sur internet via Wordpress. Je ne vois donc pas la nécessité de compliquer la mise á jour des données. pour la colonne "title", c'est le titre ou la profession exercée dans l'entreprise (secrétaire, pedagogue, prof.....). Lá je veux faire une table spéciale (id_title + title_name) oú je récupére ensuite id_title et le mets dans la table wp_sr_employees. á mins que je ne fasse une table qu'avec title_name ... á voir Je vous remercie encore une fois pour une critique constructive. Ca faisait un moment que je n'avais plus fait de tables, me revoila dans le bain! ![]() Bonne journée Sincérement Jean-Christophe
__________________
Sincérement Jean-Christophe |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com