除非包含“where”或“like”子句,否则不允许删除

Ree*_*ale 7 php mysql codeigniter

我的查询-

$shortlistpartners是数组

$this->db->delete('shortlist_partners');
$this->db->where('opp_id',$this->input->post('opp_id'));
$this->db->where_in('partner_id',$shortlistpartners);
Run Code Online (Sandbox Code Playgroud)

除非包含“where”或“like”子句,否则不允许删除。错误来了,请告诉我任何解决方案。

Abd*_*naf 1

您已--safe-updates启用,但不允许DELETE without WHERE

对于初学者来说,一个有用的启动选项是--safe-updates(或--i-am-a-dummy,具有相同的效果)。当您可能发出了 DELETE FROM tbl_name 语句但忘记了 WHERE 子句时,这会很有帮助。通常,这样的语句会删除表中的所有行。使用--safe-updates,您只能通过指定标识行的键值来删除行。这有助于防止事故发生。

看看MySQL 文档

快速修复方法是添加 SET SQL_SAFE_UPDATES=0; 在您查询之前:

SET SQL_SAFE_UPDATES=0; 
Run Code Online (Sandbox Code Playgroud)

TRUNCATE TABLE_NAME;如果您需要从表中删除所有记录,则使用 OR 。