为了切中要害,我正在尝试在安装插件时添加一个数据库表。这是我的代码:
global $scimp_db_version;
$scimp_db_version = "1.0";
function scimp_install () {
global $wpdb;
$table_name = $wpdb->prefix . "scimp";
$sql = "CREATE TABLE $table_name (
id int NOT NULL AUTO_INCREMENT,
feedurl text NOT NULL,
category text NOT NULL,
);";
require_once( ABSPATH . \'wp-admin/includes/upgrade.php\' );
dbDelta( $sql );
add_option("scimp_db_version", $scimp_db_version);
}
register_activation_hook( __FILE__, \'scimp_install\' )
不用说,这是行不通的。未创建表。我希望在看了太久之后,我错过了一些简单的东西。有人看到这里有什么不对吗?
最合适的回答,由SO网友:Shazzad 整理而成
必须使用单列或多列为表定义键。因此,在您的代码中,需要一行sqlKEY id (id)
-
$sql = "CREATE TABLE $table_name (
id int NOT NULL AUTO_INCREMENT,
feedurl text NOT NULL,
category text NOT NULL,
KEY id (id)
);";