SQL NOT IN,!=使用什么?

时间:2018-06-04 07:00:47

标签: mysql sql

我的csv文件包含工厂代码,如X001,X005,X019 ...... 在mysql表中工厂代码=用户名。

我想从我的数据库表中获取所有工厂代码,其中{CSV}文件中不存在username并删除= 0。

mycode的

    <?php
    $file = fopen("aa.csv","r");
    echo "<pre>";
    //print_r(fgetcsv($file));
    ?>
         <tr>

             <td width="10%"><label>Username</label></td>
             <td width="10%"><label>service center id</label></td>
             <td width="10%"><label>service center name</label></td>
        </tr>

        <?php
    $arr= fgetcsv($file);
    foreach ($arr as $k => $v) {

 $q= "SELECT * FROM `service_center` WHERE `deleted` = 0 AND username NOT LIKE '$v'";

            $r = mysql_query($q);
            $nr = mysql_num_rows($r);

            if ($nr > 0) {

                 WHILE ($rows = mysql_fetch_array($r)) {
             ?>





                <td><?php echo $rows['username'] ?></td>
                <td><?php echo $rows['service_center_id'] ?></td>
                <td><?php echo $rows['service_center_name'] ?></td>



                    <?php
                }
            }  

        else{
            ?>
            <tr>
                <td><?php echo $k;?></td>
                <td><?php echo $v; ?></td>
                <td><?php echo "No service center found";}?></td>
            </tr>

    <?php 

    }

    fclose($file);

    ?>

我为每个查询输出这样的输出 如果用户名= X008,那么从CSV我不会得到X008一个循环,在下一个循环中我得到X008,并且,不要获得现值植物代码,但我想要这样的东西

select * from service_center WHERE username != "X001, X007.." AND deleted = 0;

1 个答案:

答案 0 :(得分:0)

使用 NOT IN($ name_array)

NOT IN

中传递用户名数组
select * from service_center WHERE username NOT IN ("X001", "X007") AND deleted = 0;