我知道使用dbDelta的细节,并且我已经阅读了文档(http://codex.wordpress.org/Creating_Tables_with_Plugins), 阅读我所问问题的其他答案,但我只是不知道我做错了什么。当我var\\u转储dbDelta的结果时,我没有得到任何错误,只是“array(1) { [0]=> string(48) "Added index wp_ovrdrvamdata PRIMARY KEY id (id)" }
“”或其他不真实的语句。只是没有创建表。
以下是代码/查询:
function ovrdrv_asset_install() {
global $wpdb;
global $ovrdrv_am_db_version;
$wpdb->show_errors();
$data_table_name = $wpdb->prefix . \'ovrdrvamdata\';
$sql = "CREATE TABLE ". $data_table_name ." (
id int(9) NOT NULL AUTO_INCREMENT,
data varchar(255) NOT NULL,
form_id smallint(4) NOT NULL,
PRIMARY KEY id (id)
);";
require_once( ABSPATH . \'wp-admin/includes/upgrade.php\' );
var_dump(dbDelta( $sql ));
$wpdb->print_error();
add_option(\'ovrdrv_am_db_version\', $ovrdrv_am_db_version);
}
编辑:打开WPDB错误后,我得到以下错误:
WordPress database error: [Multiple primary key defined]
ALTER TABLE wp_ovrdrvamdata ADD PRIMARY KEY id (id) /* From [client.staging.wpengine.com/wp-admin/plugins.php?activate=true&plugin_status=all&paged=1&s=] in [/nas/wp/www/staging/client/wp-content/plugins/client-plugin/table-creation.php:22] */
array(1) { [0]=> string(48) "Added index wp_ovrdrvamdata PRIMARY KEY id (id)" }
WordPress database error: [Multiple primary key defined]
ALTER TABLE wp_ovrdrvamdata ADD PRIMARY KEY id (id) /* From [client.staging.wpengine.com/wp-admin/plugins.php?activate=true&plugin_status=all&paged=1&s=] in [/nas/wp/www/staging/client/wp-content/plugins/client-plugin/table-creation.php:22] */
它似乎试图多次添加主键或其他内容,即使表还不存在。
任何帮助都将不胜感激。