J'ai récemment mis à jour Joomla de la version 3.2.3 à la version 3.3.6, mais pour une raison quelconque, lorsque j'essaie d'installer quoi que ce soit, je reçois maintenant une erreur:
1146 Table 'dbname.ku42W_updates' doesn't exist SQL=SHOW COLUMNS IN `ku42W_updates`
J'ai essayé la requête SQL suivante mais cela ne fonctionne pas, cela signifie que la table n'existe pas!
CREATE TABLE IF NOT EXISTS `ku42W_updates` (
`update_id` int(11) NOT NULL AUTO_INCREMENT,
`update_site_id` int(11) DEFAULT 0,
`extension_id` int(11) DEFAULT 0,
`name` varchar(100) DEFAULT '',
`description` text NOT NULL,
`element` varchar(100) DEFAULT '',
`type` varchar(20) DEFAULT '',
`folder` varchar(20) DEFAULT '',
`client_id` tinyint(3) DEFAULT 0,
`version` varchar(32) DEFAULT '',
`data` text NOT NULL,
`detailsurl` text NOT NULL,
`infourl` text NOT NULL,
`extra_query` varchar(1000) DEFAULT '',
PRIMARY KEY (`update_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Available Updates';
J'ai essayé de créer la table de base de données manuellement, mais j'obtiens ensuite la même erreur.
Si je vais dans Extensions >> Extension Manager >> Base de données >> Correctif, le message d'erreur suivant s'affiche:
1146 Table 'kingswood.kw_updates' doesn't exist SQL=SHOW COLUMNS IN `kw_updates` WHERE field = 'infourl'
Des idées que je peux faire pour le résoudre? Merci
J'ai résolu ce problème par une nouvelle installation de Joomla 3.3.6, puis j'ai migré sur toutes les tables de base de données pertinentes. Pas joli (ou rapide) mais ça marche maintenant au moins!
* UPDATE *
Ce correctif fonctionne beaucoup mieux:
DROP TABLE #####_updates;
CREATE TABLE IF NOT EXISTS `#####_updates` (
`update_id` int(11) NOT NULL AUTO_INCREMENT,
`update_site_id` int(11) DEFAULT 0,
`extension_id` int(11) DEFAULT 0,
`name` varchar(100) DEFAULT '',
`description` text NOT NULL,
`element` varchar(100) DEFAULT '',
`type` varchar(20) DEFAULT '',
`folder` varchar(20) DEFAULT '',
`client_id` tinyint(3) DEFAULT 0,
`version` varchar(32) DEFAULT '',
`data` text NOT NULL,
`detailsurl` text NOT NULL,
`infourl` text NOT NULL,
`extra_query` varchar(1000) DEFAULT '',
PRIMARY KEY (`update_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Available Updates';
Il suffit de remplacer ##### par votre préfixe de table
J'ai eu ce problème. J'ai simplement utilisé:
DROP TABLE xxxxx.updates
suivi par
CREATE TABLE IF NOT EXISTS `XXXXX_updates` (
`update_id` int(11) NOT NULL AUTO_INCREMENT,
`update_site_id` int(11) DEFAULT 0,
`extension_id` int(11) DEFAULT 0,
`name` varchar(100) DEFAULT '',
`description` text NOT NULL,
`element` varchar(100) DEFAULT '',
`type` varchar(20) DEFAULT '',
`folder` varchar(20) DEFAULT '',
`client_id` tinyint(3) DEFAULT 0,
`version` varchar(32) DEFAULT '',
`data` text NOT NULL,
`detailsurl` text NOT NULL,
`infourl` text NOT NULL,
`extra_query` varchar(1000) DEFAULT '',
PRIMARY KEY (`update_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Available Updates';
Remplacez la phrase XXXXX
par votre propre chaîne
J'ai essayé cette solution mais j'ai eu ce message d'erreur:
MySQL a dit: Documentation
J'ai essayé beaucoup de choses, notamment essayer de créer la table manuellement, ainsi que de restaurer une sauvegarde MySQL antérieure, qui a échoué lorsqu'elle est arrivée dans la table 'j30_updates'.
Rien n'a fonctionné.
Ma solution a été restaurée à partir de la sauvegarde MySQL précédente, créée une copie de la sauvegarde MySQL, supprimant tout manuellement, y compris la table 'j30_updates', afin de pouvoir restaurer les tables suivantes. Ensuite, j'ai créé manuellement une table avec les 14 colonnes et ajouté les colonnes manuellement. Cela a fonctionné! J'ai pu refaire les mises à jour de Joomla et le site s'est arrêté. Génial!
À ce stade, je n'ai aucune idée de ce qui a causé cela, mais cela s'est déjà produit sur deux de mes sites Web clients. Le client précédent sur lequel j'avais eu ce problème était un site Web "très petit", je l'ai donc reconstruit. Cependant, le site Web de nos clients était vaste et j'ai donc continué à travailler avec les tables jusqu'à ce que je le résolve.
J'ai eu le même problème récemment avec l'erreur suivante en essayant de recréer la table des mises à jour:
#1146 - Table 'xxxxxxxx_joomla.yyy_updates' doesn't exist
Dans phpMyAdmin, la table des mises à jour apparaissait dans la liste des tables dans la colonne de gauche mais ne figurait étrangement pas dans la liste principale.
Selon https://stackoverflow.com/a/8410497/1983389 , le redémarrage de MySQL vous permet de créer le tableau conformément aux autres réponses.
Dans mon cas, le personnel du service d’hébergement Web ne répondant pas au cours de la saison des vacances, j’ai donc sauvegardé le site Web à l’aide d’Akeeba Backup, supprimé les fichiers du site Web, supprimé et recréé la base de données et restauré le site Web à l’aide de Kickstart. J'ai ensuite pu recréer le tableau des mises à jour afin que le site Web fonctionne à nouveau normalement.