从php数组中不存在的数据库id中删除数据

nmpmafwu  于 2021-06-21  发布在  Mysql
关注(0)|答案(4)|浏览(402)

我用的是codeigniter,控制器里有两个变量

$bus_code = 1;

$route_code = array('route_code' => 1,'route_code' => 3,'route_code' => 4);

mysql表数据,

- id, route_code,   bus_code
 - 1,     1,             1
 - 2,     2,             2
 - 3,     3,             1
 - 4,     4,             1
 - 5,     5,             2
 - 6,     7,             2

我想删除总线代码为1而路线代码不在的数据 $route_code codeigniter模型中的阵列

9q78igpj

9q78igpj1#

您可以按如下所示执行此操作:

$route_code = array('route_code' => 1,'route_code' => 3,'route_code' => 4);
$route_code_values = array_values($route_code);
$this->db->where('bus_code', 1);  // Instead of 1 you can set variable too
$this->db->where_not_in('route_code', $route_code_values); // Passing just values of routes, We have defined column in 1st argument.
$this->db->delete('tableName'); // Set table name.
flvlnr44

flvlnr442#

希望这能帮助您:

$bus_code = 1;
$route_code = [1,3,4];
$this->db->where('bus_code', $bus_code);
$this->db->where_not_in('route_code', $route_code);
$this->db->delete('table_name');

注意:在上面给出的当前条件下,不会删除任何行
更多信息:https://www.codeigniter.com/user_guide/database/query_builder.html#deleting-数据

iqih9akk

iqih9akk3#

这将有助于:

$this->db->where('bus_code', 1);
$this->db->where_not_in('route_code', $route_code);
$this->db->delete('table_name');

改变 table_name 表的名称。

sirbozc5

sirbozc54#

干得好。

$this->db->where('bus_code', $id);
$this->db->where_not_in('route_code', $route_code);
$this->db->delete('tableName');

相关问题