我正在尝试使用WordPress $wpdb
删除mySQL表的最后一条记录。我尝试过:
global $wpdb;
$wpdb->delete('claps',array('orderby' => 'id desc limit 1'));
但是它不起作用。 $wpdb
变量运行良好,因为在此之前我已经完成了插入查询,因此问题出在删除查询中。有人可以告诉我这是如何在WordPress中完成的。
谢谢。
答案 0 :(得分:2)
您的阵列中可能有一个错误。方法delete()
的第二个参数应该是SQL中的 WHERE 。您可以在这里找到更多信息:https://developer.wordpress.org/reference/classes/wpdb/delete/#parameters
$ where
(array)(必需)WHERE子句的命名数组(在列=>中 值对)。多个子句将与AND结合在一起。两者都在哪里 列和$ where值应为“原始”。发送空值将 创建IS NULL比较-相应的格式为 在这种情况下将被忽略。
答案 1 :(得分:0)
我已经尝试过了,并且奏效了。
global $wpdb;
$results = $wpdb->get_results('SELECT * FROM claps ORDER BY id DESC limit 1');
$id = $results[0]->id;
$wpdb->delete('claps',array('id' => $id));
wp_die();
答案 2 :(得分:0)
$last_insert_id = $wpdb->insert_id;
$table = 'eLearning_progress';
$wpdb->delete( $table, array( 'ID' => $last_insert_id ) );