【问题标题】:Create new table with Wordpress API使用 Wordpress API 创建新表
【发布时间】:2011-02-20 03:55:07
【问题描述】:

我正在尝试创建一个新插件来根据视图跟踪热门帖子,我已经完成所有工作并准备就绪,但我似乎无法使用 Wordpress API 创建一个新表(我可以使用标准 PHP 或 phpMyAdmin,但我希望这个插件能够自给自足)。

我尝试了几种方法($wpdb->query、$wpdb->get_results、dbDelta),但它们都不会创建新表。

function create_table(){
global $wpdb;
$tablename = $wpdb->prefix.'popular_by_views';
$ppbv_table = $wpdb->get_results("SHOW TABLES LIKE '".$tablename."'" , ARRAY_N);
if(is_null($ppbv_table)){
    $create_table_sql = "CREATE TABLE '".$tablename."' (
        'id' BIGINT(50) NOT NULL AUTO_INCREMENT, 
        'url' VARCHAR(255) NOT NULL, 
        'views' BIGINT(50) NOT NULL, 
        PRIMARY KEY ('id'), 
        UNIQUE ('id')
    );";
    $wpdb->show_errors();
    $wpdb->flush();
    if(is_null($wpdb->get_results("SHOW TABLES LIKE '".$tablename."'" , ARRAY_N))) echo 'crap, the SQL failed.';
}
else echo 'table already exists, nothing left to do.';}

【问题讨论】:

标签: mysql database api wordpress


【解决方案1】:

问题出在 SQL 语句上,而不是 PRIMARY KEY ('id'), UNIQUE ('id') 采用 PRIMARY KEY (id), UNIQUE (id).

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-08-29
    • 1970-01-01
    • 1970-01-01
    • 2015-07-05
    • 1970-01-01
    • 2021-01-30
    • 2012-03-13
    • 1970-01-01
    相关资源
    最近更新 更多