ON DUPLICATE KEY UPDATE未插入或更新行

时间:2018-04-18 10:12:05

标签: mysql sql database wordpress

$sql = 'INSERT INTO wp_plugin_info (plugin_name,current_version,slug,download_link) 
VALUES ('.'"'.$name.'"'.','.$version.','.'"'.$slug.'"'.','.'"'.$link_download.'"'.') ON DUPLICATE KEY UPDATE 
plugin_name = '.'"'.$name.'"'.', current_version = '.$version.', download_link = '.'"'.$link_download.'"'.'';
$wpdb->query($sql);

我在点击按钮时将插件数据插入到表中。但我想检查插件数据是否已经存在然后不插入,否则插入它。

这里我将“slug”指定为UNIQUE键,“ID”是自动递增主键。 我想比较基于slug的数据。 比方说,如果版本更改..那么它不能在表中插入新行。而是它将基于slug更新行。

这是我的表:

    $table_name = $wpdb->prefix . 'plugin_info';

    if($wpdb->get_var("show tables like '$table_name'") != $table_name) 
{
    $sql = "CREATE TABLE " . $table_name . " (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `plugin_name` varchar(255) NOT NULL,
    `current_version` varchar(255) NOT NULL,
    `slug` varchar(255) NOT NULL,
    `download_link` varchar(255) NOT NULL,
    PRIMARY KEY id (id),
    UNIQUE KEY `plugin_test` (`slug`)
    );";

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

这是我的代码,但它不起作用。

0 个答案:

没有答案