Reputation: 1437
I want to create a table into the database upon installing the plugin I've created.
In my main plugin file (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);
}
I just followed the instructions from this http://codex.wordpress.org/Creating_Tables_with_Plugins
But it doesn't work.
What seems to be the problem with this code?
Upvotes: 3
Views: 5316
Reputation: 315
limit varchar(50) NOT NULL,
Limit is a keyword, change to something else like
`limit` varchar(50) NOT NULL,
Use back ticks around keywords
Upvotes: 6