浏览一下您的代码,我发现了一些潜在的问题。根据这个Codex page dbDelta“挑剔”;
您必须在SQL语句中将每个字段放在自己的行上。
在单词主键和主键定义之间必须有两个空格。
必须使用关键字key而不是其同义词索引,并且必须至少包含一个关键字。
在字段名周围不能使用任何撇号或反勾号。
字段类型必须全部为小写。
SQL关键字(如CREATE TABLE和UPDATE)必须为大写。
必须指定接受长度参数的所有字段的长度。例如,int(11)。
您提供的代码在尚未创建的字段上显示唯一的键,键和字段名称之间必须有2个空格。适当时,应规定长度。
这Code Reference 页面显示WP使用dbDelta的位置。查看这些函数可能有助于处理DBDelta的“挑剔”。
编辑:
下面是升级的一个示例。php
function install_global_terms() {
global $wpdb, $charset_collate;
$ms_queries = "
CREATE TABLE $wpdb->sitecategories (
cat_ID bigint(20) NOT NULL auto_increment,
cat_name varchar(55) NOT NULL default \'\',
category_nicename varchar(200) NOT NULL default \'\',
last_updated timestamp NOT NULL,
PRIMARY KEY (cat_ID),
KEY category_nicename (category_nicename),
KEY last_updated (last_updated)
) $charset_collate;
";
// now create tables
dbDelta( $ms_queries );
}