php - mysql - 删除数据与数组中的数据不匹配的 sql 行

标签 php mysql arrays

请问我能帮上忙吗?我正在尝试删除表中与数组中的数据不匹配的 SQL 行。

SQL 表:

| id | Name  | No
------------------
| 1  | john  | 14 
| 2  | rui   | 156
| 3  | ted   | 148
| 4  | alex  | 123
| 5  | depay | 56

数组:

Array
(
    [0] => Array
        (
            [name] => john
            [no] => 14
        )

    [1] => Array
        (
            [name] => ted
            [no] => 148
        )

    [2] => Array
        (
            [name] => depay
            [no] => 56
        )
)

最佳答案

这可能对你有帮助

 [akshay@localhost tmp]$ cat test.php
 <?php

 $array = array (
   array (
     'name' => 'john',
     'no' => '14'
   ),
   array (
     'name' => 'ted',
     'no' => '148'
   ), 
   array (
     'name' => 'depay',
     'no' => '56'
   )
 );

 $table = "some_table";
 $sql   = "DELETE FROM ".$table." WHERE (NAME,NO) NOT IN (". implode(",",array_map(function($_){ return sprintf("('%s',%d)",$_['name'],$_['no']);},$array)).")";

 print $sql."\n";
 ?>

输出

 [akshay@localhost tmp]$ php test.php
 DELETE FROM some_table WHERE (NAME,NO) NOT IN (('john',14),('ted',148),('depay',56))

关于php - mysql - 删除数据与数组中的数据不匹配的 sql 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30520235/

相关文章:

php - 根据 SLA 计算系统可用性

javascript - 如何获取html <table>的<tr>中的所有值

javascript - 页面完全加载时清除 Div

mysql - 获取主键在范围内的行

php - 检查 MySQL 中不存在的大数组元素的最快方法

php - Yii Framework 2.0 使用用户数据库登录

php - MySqlaffected_rows始终为0但UPDATE有效

javascript - 将矩阵线分成组并使用位置获取组

c - C语言中如何将数组 "Name"按指定的位置号添加到 "Surname"中?

javascript - 检查 JavaScript 中字符串集合中是否存在字符串的最快方法是什么?