php - 安装wordpress插件时创建数据库表

标签 php mysql database wordpress

我想在安装我创建的插件后在数据库中创建一个表。

在我的主插件文件(index.php)中:

register_activation_hook(__FILE__, 'wnm_install');

global $wnm_db_version;
$wnm_db_version = "1.0";

function wnm_install(){
global $wpdb;
global $wnm_db_version;
$sql = "CREATE TABLE tbl_campaigns (
campaignID int(11) NOT NULL AUTO_INCREMENT,
campaign_name varchar(128) NOT NULL,
start_duration date NOT NULL,
end_duration date NOT NULL,
activity varchar(500) NOT NULL,
survey_settings varchar(50) NOT NULL,
limit varchar(50) NOT NULL,
goal varchar(100) DEFAULT NULL,
PRIMARY KEY (campaignID)
) ;";

require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
dbDelta($sql);
add_option("wnm_db_version", $wnm_db_version);
}

我只是按照 http://codex.wordpress.org/Creating_Tables_with_Plugins 中的说明进行操作

但它不起作用。

这段代码似乎有什么问题?

最佳答案

limit varchar(50) NOT NULL,

limit是关键字,换成其他的吧

`limit` varchar(50) NOT NULL,

在关键字周围使用反引号

关于php - 安装wordpress插件时创建数据库表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10274986/

相关文章:

php - Paypal API,未收到 IPN 消息

python - 无法使用views.py文件转储mysql数据库

mysql - 在 CakePHP 中确定要在 MySQL 中建立索引的列

mysql - 需要洞察力 - 同步将在实时站点上使用的生产数据库的最佳实践是什么? CakePHP, Mysql

c# - 数据库命令对象的参数顺序真的很重要吗?

php - 仅将 ssl 应用于站点的管理路由

php - 维基百科使用什么进行文本和修订差异

javascript - 页面加载后具有恢复功能的秒表

mysql - 可以通过自动增量 pk 获取插入的值吗?

php - 如何在每天凌晨 12 点运行 php 脚本