Paolo a écrit :
Jean-Christophe Villeneuve wrote:
`titre` text NOT NULL,
`descriptif` text NOT NULL,
`texte` longtext NOT NULL,
Ça, à mon avis, doit être le problème : cela veut dire que MySQL va réfuser à insérer toute rubrique qui manque un descriptif où un texte. Et probablement tu en as bcp. où un champs où l'autre ne contient aucune information.
Et j'y peux quoi ?
ce qui est bizarre (je n'y connais rien en MySQL) c'est que
SHOW CREATE TABLE `spip_articles`
me donne
CREATE TABLE `spip_articles` (
`id_article` bigint(21) NOT NULL auto_increment,
`surtitre` text NOT NULL,
`titre` text NOT NULL,
`soustitre` text NOT NULL,
`id_rubrique` bigint(21) NOT NULL default '0',
`descriptif` text NOT NULL,
`chapo` mediumtext NOT NULL,
`texte` longtext NOT NULL,
`ps` mediumtext NOT NULL,
`date` datetime NOT NULL default '0000-00-00 00:00:00',
`statut` varchar(10) NOT NULL default '0',
`id_secteur` bigint(21) NOT NULL default '0',
`maj` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
`export` varchar(10) default 'oui',
`date_redac` datetime NOT NULL default '0000-00-00 00:00:00',
`visites` int(11) NOT NULL default '0',
`referers` int(11) NOT NULL default '0',
`popularite` double NOT NULL default '0',
`accepter_forum` char(3) NOT NULL default '',
`date_modif` datetime NOT NULL default '0000-00-00 00:00:00',
`lang` varchar(10) NOT NULL default '',
`langue_choisie` varchar(3) default 'non',
`id_trad` bigint(21) NOT NULL default '0',
`extra` longtext,
`id_version` int(10) unsigned NOT NULL default '0',
`nom_site` tinytext NOT NULL,
`url_site` varchar(255) NOT NULL default '',
PRIMARY KEY (`id_article`),
KEY `id_rubrique` (`id_rubrique`),
KEY `id_secteur` (`id_secteur`),
KEY `id_trad` (`id_trad`),
KEY `lang` (`lang`),
KEY `statut` (`statut`,`date`)
) ENGINE=InnoDB AUTO_INCREMENT=494 DEFAULT CHARSET=utf8
avec des NOT NULL partout et pourtant les articles sont bien restaurés avec id_secteur rempli dans la base.
Et tout n'est pas rebseigné, loin de là (pas de surtitre, de soustitre, de chapeau, ...)
Comment est-ce que la définition est arrivée à être ainsi ?
Pour la question de MyISAM / InnoDB, j'ignore si ceci est important ou non. Le deux choses sont-elles liées ? Je ne sais pas non plus.
Toutes tes tables sont-elles sous InnoDB ou seulement spip_rubriques ?
Paolo
les 2-3 que j'ai vérifié oui