incrementer a partir d'un valeur autre que 0 [MYSQL] - SQL/NoSQL - Programmation
Marsh Posté le 20-11-2005 à 18:29:42
Donc pour l'instant c'est même pas un auto_increment et la valeur par défaut est 5500 c'est ça?
Faut enlever le default pour ça et apparement tu peux avoir qu'un autoincrement par table
Marsh Posté le 20-11-2005 à 19:43:03
oui c'est ca, comme c'est une gestion d'utilisateur et que ces numero sont ensuite repercuté sur les droits des home directory c'est pas secure du tout. je veux que chaque user est soon propre uid (normal non ?)
arf j'en avais deja autoincrement, mais y pas de solution alors ? comment faire pour que c'est uid evolue tout seul ?
Marsh Posté le 20-11-2005 à 19:55:27
alter table <nomtable> set auto_increment = <nouvellevaleur>
Marsh Posté le 20-11-2005 à 22:59:32
heu ca marche pas ...
pour l'instant ma table ressemble a ca
CREATE TABLE `ftpuser` (
`id` int(10) unsigned NOT NULL auto_increment,
`userid` varchar(32) NOT NULL default '',
`passwd` varchar(32) NOT NULL default '',
`uid` smallint(6) NOT NULL default '5500',
`gid` smallint(6) NOT NULL default '5500',
`homedir` varchar(255) NOT NULL default '',
`shell` varchar(16) NOT NULL default '/bin/false',
`count` int(11) NOT NULL default '0',
`accessed` datetime NOT NULL default '0000-00-00 00:00:00',
`modified` datetime NOT NULL default '0000-00-00 00:00:00',
`LoginAllowed` enum('true','false') NOT NULL default 'true',
PRIMARY KEY (`id`)
);
je veux inscrementer le 5500 du uid a chaque nouvel enregistrement
Marsh Posté le 20-11-2005 à 23:15:52
Si le "uid" est unique, est-il utile d'avoir aussi un "id"
Autant se servir du "uid" en clé ?
L'avantage, c'est que, une fois initialisé correctement, l'incrémentation sera automatique.
Marsh Posté le 20-11-2005 à 23:23:05
oui j'y ai pensé, mais comme j'utilise proftpd-mysql, je me suis servi d'une doc pour faire pour mettre en place ma base et je ne sais pas si le schema de ma base peut etre modifié
Marsh Posté le 20-11-2005 à 23:28:42
id, userid, uid ?? y a pas comme de la redondance la ?
Marsh Posté le 20-11-2005 à 23:50:28
j'ai modifié, ca marche
CREATE TABLE `ftpuser` (
`uid` smallint(6) NOT NULL auto_increment,
`userid` varchar(32) NOT NULL default '',
`passwd` varchar(32) NOT NULL default '',
`gid` smallint(6) NOT NULL default '5500',
`homedir` varchar(255) NOT NULL default '',
`shell` varchar(16) NOT NULL default '/bin/false',
`count` int(11) NOT NULL default '0',
`accessed` datetime NOT NULL default '0000-00-00 00:00:00',
`modified` datetime NOT NULL default '0000-00-00 00:00:00',
`LoginAllowed` enum('true','false') NOT NULL default 'true',
PRIMARY KEY (`uid`)
) TYPE=MyISAM COMMENT='Table des utlisateurs ProFTPD' AUTO_INCREMENT=5500;
Marsh Posté le 22-11-2005 à 02:04:05
Donc conclusion, un seul auto_increment par table en id primaire ce qui suffit sur un modèle conceptuel correct
Marsh Posté le 20-11-2005 à 17:28:24
bonjour
j'ai une table d'utlisateur, j'ai une propriétié uid qui doit commencé a 5500 puis s'incrementer a chaque céation d'utilisateur. pour l'instant tout le monde est a 5500. j'ai donc essayé ca:
ALTER TABLE `ftpuser` CHANGE `uid` `uid` INT( 6 ) NOT NULL DEFAULT '5500' AUTO_INCREMENT
mais ca ne marche pas: #1067 - Invalid default value for 'uid'
qui a une idee ?