The full warning message goes like this: PDOException: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'mysite_drupal.cache_views' doesn't exist: TRUNCATE {cache_views} ; Array ( ) in cache_clear_all() (line 165 of /home/user/mysite.com/includes/cache.inc). should I try to manually create it?

  • Have you checked to see if the table exists in mysql? – mister koz Feb 17 '14 at 0:41

Yes, if cache_views is missing and you have the Views module installed, you need to create it.

To do so, simply duplicate the standard cache table and rename it to cache_views; they share the same columns.

You might also need to re-create the cache_views_data table, also with the same columns.

| improve this answer | |
  • as always, great ;) – Yuseferi Feb 17 '14 at 9:15

From a mysql command prompt, you can go

show create table cache;

That will show the create table syntax for a cache table.

Change the table name to cache_views and you can use that SQL to recreate the table.

For example:

CREATE TABLE `cache_views` (
  `cid` varchar(255) NOT NULL DEFAULT '' COMMENT 'Primary Key: Unique cache ID.',
  `data` longblob COMMENT 'A collection of data to cache.',
  `expire` int(11) NOT NULL DEFAULT '0' COMMENT 'A Unix timestamp indicating when the cache entry should expire, or 0 for never.',
  `created` int(11) NOT NULL DEFAULT '0' COMMENT 'A Unix timestamp indicating when the cache entry was created.',
  `serialized` smallint(6) NOT NULL DEFAULT '0' COMMENT 'A flag to indicate whether content is serialized (1) or not (0).',
  PRIMARY KEY (`cid`),
  KEY `expire` (`expire`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Generic cache table for caching views...'

You can also create the table in PHP with something similar to:

$schema['cache_views'] = drupal_get_schema_unprocessed('system', 'cache');
db_create_table('cache_views', $schema['cache_views']);

You may also need to recreate cache_views_data in a similar way.

| improve this answer | |
  • Thanks, that got it. Why do you think those tables wouldn't be there though? – Ed523 May 16 '14 at 3:14

Not the answer you're looking for? Browse other questions tagged or ask your own question.