对于wp_Options中的两个选项,是否相同Option_id=0?

时间:2015-08-25 作者:NoBugs

当(根据mySQL Workbench)2个选项的option\\u id=0时,这意味着什么?

刚刚注意到,对于不相关的插件和主题,有着非常不同的选项。

更新刚刚注意到超过200个选项的id为0(select * from wordpress.wp_options where option_id = 0) 在一个测试系统上。这是什么原因造成的,这可能是瞬态似乎被提前删除的原因吗?

3 个回复
SO网友:birgire

如果我们检查wp_options 表(在4.4中)是从schema.php 文件中,我们将找到以下内容:

CREATE TABLE $wpdb->options (
  option_id bigint(20) unsigned NOT NULL auto_increment,
  option_name varchar(191) NOT NULL default \'\',
  option_value longtext NOT NULL,
  autoload varchar(20) NOT NULL default \'yes\',
  PRIMARY KEY  (option_id),
  UNIQUE KEY option_name (option_name)
) $charset_collate;
以下是wp_options 表:

> DESCRIBE wp_options;
+--------------+---------------------+------+-----+---------+----------------+
| Field        | Type                | Null | Key | Default | Extra          |
+--------------+---------------------+------+-----+---------+----------------+
| option_id    | bigint(20) unsigned | NO   | PRI | NULL    | auto_increment |
| option_name  | varchar(191)        | NO   | UNI |         |                |
| option_value | longtext            | NO   |     | NULL    |                |
| autoload     | varchar(20)         | NO   |     | yes     |                |
+--------------+---------------------+------+-----+---------+----------------+
如果最近发生这种情况,您应该检查PHP、MySQL、NginX/Apache的错误日志。

不确定您的MySQL版本是什么,但recommended 版本为5.6以上,但应适用于5.0以上版本。

确保其他核心表的表结构也完好无损。

记住backup 请在更改表结构之前访问数据库。

SO网友:Saikat

当我通过phpmyadmin导入数据库时,我遇到了同样的问题。我认为,如果您有一个数据库备份,那么您可以尝试另一个重新导入操作vaia phpmyadmin。这对我有用,但不确定这是否对你有用。

SO网友:Kvvaradha

如果在phpmyadmin上导入数据库。它在导入sql文件时有一个选项。Don\'t use AUTO_INCREMENT for null tables or zero rows. 此选项位于go按钮的正上方。阅读此复选框并根据您的选择进行标记。然后导入数据库。这不是问题。这个option_ID 是主键,它是自动递增的。

如果您使用的是phpmyadmin。转到选项表及其结构视图。然后将其设为主键,编辑字段并检查其中的AUTO\\u增量。你的问题就会解决。