While I was installing a module to the joomla 3.4.X, I got the below error:
Table 'xxxx_updates' doesn't exist SQL=SHOW FULL COLUMNS FROM updates in joomla
And the installation failed.
Cause
The error occurs because the Joomla database table that stores available updates (named using your table prefix followed by _updates) does not exist in the site's database. In the article below the placeholder xxxx represents your database table prefix.
Safety first: BACK UP your database
Before making any change to your database, create a full backup of the database (and files). If you have shell access you can use:
mysqldump -u DB_USER -p DB_NAME > db-backup-YYYYMMDD.sql
Or use phpMyAdmin's Export feature to export the database.
Find your table prefix
Open your Joomla site's configuration.php file and look for the database prefix setting (for example public $dbprefix = 'jos_';). Replace the xxxx placeholder below with your actual prefix (for example jos or abc123).
Solution — recreate the missing updates table
If the xxxx_updates table is missing you can recreate it. You have two options:
- Preferred: create the table only if it does not exist.
- If a malformed table exists you can DROP it and recreate it (dangerous without backup).
Option A — create table if it does not exist (safer)
Replace xxxx_ with your table prefix and run the CREATE TABLE statement:
CREATE TABLE IF NOT EXISTS `xxxx_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';
Option B — drop and recreate (only if you are sure and have a backup)
DROP TABLE xxxx_updates;
-- then run the CREATE TABLE statement from Option A
Where to run these SQL statements
- phpMyAdmin: open your database, go to the SQL tab, paste the SQL, and run it.
- MySQL CLI: connect with
mysql -u DB_USER -p DB_NAMEand paste the statements. - If available, check Joomla admin: Extensions → Manage → Database (it can sometimes fix or report database schema issues).
After running the SQL
This solves the issue. Now try to install the new module — it should install successfully.
Troubleshooting
- If you still see errors, verify the database user has CREATE and ALTER privileges.
- Confirm the table prefix used in SQL matches the prefix from configuration.php exactly (including the trailing underscore if present).
- Ensure your database engine supports InnoDB and your server uses utf8 charset (the CREATE statement uses ENGINE=InnoDB DEFAULT CHARSET=utf8).
- If Joomla reports other missing schema items, check Extensions → Manage → Database and run any suggested fixes.
This procedure recreates the updates table and addresses the module installation failure caused by the missing table.








































