PB avec une table sql
5 messages
• Page 1 sur 1
- animus
- WRInaute discret

- Messages: 92
- Inscription: 23 Mai 2005
PB avec une table sql
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
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é

- Messages: 1619
- Inscription: 30 Mai 2005
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

- Messages: 92
- Inscription: 23 Mai 2005
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;
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

- Messages: 131
- Inscription: 7 Juin 2005
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).
5 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- [sql] Tri d'une table selon un champ dans une autre table
- Double table SQL et PHP
- Dédoublonne une table SQL
- SQL Requete multi table
- Conseil création table BDD sql
- Recherche table SQL villes de France
- instruction php dnas une table sql
- SQL n'affiche pas le premier enregistrement de ma table !
- Lister variables non existantes d'une table SQL ?
- max 100 sur champs de table SQL
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité
