PB avec une table sql

animus
WRInaute discret
WRInaute discret
 
Messages: 92
Inscription: 23 Mai 2005

PB avec une table sql

Message le Lun Aoû 21, 2006 8:14

Bonjour,

Voila le pb: j'ai une bdd et une table ! rien de grave jusque là mais lorsque je fais une insertion via un formulaire, la première ligne dans la base commence à "0" et je ne peux plus rien insérer après !

Peut être s'agit il d'un pb au niveau de la table. Voici la requete de création:

CREATE TABLE `intranet` (
`id` tinyint(4) NOT NULL default '0',
`date` date NOT NULL default '0000-00-00',
`status` varchar(20) collate latin1_general_ci NOT NULL default '',
`plan` varchar(255) collate latin1_general_ci NOT NULL,
`type` varchar(20) collate latin1_general_ci NOT NULL default '',
`situation` varchar(50) collate latin1_general_ci NOT NULL default '',
`surface` varchar(7) collate latin1_general_ci NOT NULL default '',
`cos` varchar(20) collate latin1_general_ci NOT NULL default '0',
`zonage` varchar(10) collate latin1_general_ci NOT NULL default '',
`assainissement` varchar(25) collate latin1_general_ci NOT NULL,
`tfc` varchar(15) collate latin1_general_ci NOT NULL default '',
`infos` varchar(255) collate latin1_general_ci NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM;


merci pour votre aide.

ANIMUS


biddybulle
WRInaute passionné
WRInaute passionné
 
Messages: 1619
Inscription: 30 Mai 2005

Message le Lun Aoû 21, 2006 8:35

pourquoi tu met l'id avec un default à 0. Ton erreur vient sans doute de là tu ne peux pas insérer pour ta clé primaire Id deux lignes ayant le même id.

animus
WRInaute discret
WRInaute discret
 
Messages: 92
Inscription: 23 Mai 2005

Message le Lun Aoû 21, 2006 8:45

j'ai refait la base directement avec phpmyadmin et cela ne marche toujours pas (j'ai viré le "default '0'" entre autre) voici la nvelle version:

CREATE TABLE `intranet` (
`id` int(11) NOT NULL,
`date` date NOT NULL,
`status` varchar(40) NOT NULL,
`plan` varchar(255) NOT NULL,
`type` varchar(50) NOT NULL,
`situation` varchar(100) NOT NULL,
`surface` varchar(20) NOT NULL,
`cos` varchar(40) NOT NULL,
`zonage` varchar(40) NOT NULL,
`assainissement` varchar(100) NOT NULL,
`tfc` varchar(20) NOT NULL,
`infos` varchar(255) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `id` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

lefou
WRInaute discret
WRInaute discret
 
Messages: 131
Inscription: 7 Juin 2005

Message le Lun Aoû 21, 2006 8:52

animus a écrit:j'ai refait la base directement avec phpmyadmin et cela ne marche toujours pas (j'ai viré le "default '0'" entre autre)


Si id est un numéro attribué automatiquement, il faut que tu choisisses l'option auto_increment et un attribut unsigned.

Si tu le définis toi-même à partir de la requête, dans celle-ci il faut lui donner la valeur à enregistrer. N'oublie pas dans ce cas de vérifier que cette valeur n'est pas déjà utilisée étant donné qu'il s'agit de la clé primaire, sinon tu auras le même problème.

Autre point :
Evite tinyint pour l'id car cela te limite à 256 en registrements (0 à 255). Mediumint me semble déjà correct (0 à 16 777 215).

animus
WRInaute discret
WRInaute discret
 
Messages: 92
Inscription: 23 Mai 2005

Message le Lun Aoû 21, 2006 8:57

super !

merci tout plein


ça marche !!!!!!!!!


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité