Probleme avec la numerotation automatique
Bonjour,
Mon script crée une table Auteur de cette facon :
Code:
1 2 3 4 5 6 7
|
CREATE TABLE `auteur` (
`idAuteur` int(6) unsigned NOT NULL auto_increment,
`nom` varchar(50) NOT NULL default '',
`prenom` varchar(50) default NULL,
PRIMARY KEY (`idAuteur`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; |
Dans mon application C#, je rentre une nouvelle valeur de cette facon :
Code:
1 2
|
INSERT INTO `auteur` ( `idAuteur` , `nom` , `prenom` ) VALUES ('', '" + txtNomAuteur.Text + "', '" + txtPrenomAuteur.Text + "'); |
Mais il me dit que la valeur idAuteur est en dehors des valeurs possibles pour ce champ, normal puisque je ne l'ai pas remplie.
Mais a quoi sert auto_increment alors ? Je me rapelle qu'en php, quand on ne renseigne pas un champ auto_increment, il prends automatiquement la valeur suivante ...
Peut-etre que je msuis trompé dans la declaration de ma table non ?
Merci d'avance !
Re: Probleme avec la numerotation automatique
Ton idAuteur est un INT avec auto_increment, tu n'as pas besoin de mettre quoi que ce soit !
Ta requête est donc la suivante:
Code:
INSERT INTO auteur (nom, prenom) VALUES ('" + txtNomAuteur.Text + "', '" + txtPrenomAuteur.Text + "');
Ca vient d'où cette manie de mettre une valeur "" sur un auto_incrément? C'est la doc Microsoft qui vous dit de faire une telle abomination?
Re: Probleme avec la numerotation automatique
Citation:
Envoyé par pcaboche
Ca vient d'où cette manie de mettre une valeur "" sur un auto_incrément? C'est la doc Microsoft qui vous dit de faire une telle abomination?
Il me semble que sous SQL-Server il n'y a pas besoin de préciser le champ auto incrémentable non plus.
Peut-être que c'est un symptôme lié à Oracle ? Avec ses séquences et nextval, j'ai souvent vu écrit des choses comme "seq.nextval" dans les id, alors que l'utilisation d'un trigger est plus adaptée :wink: