繁体   English   中英

如何在MySQL中使用'1'拉列

[英]How to pull columns with '1' in MySQL

我想知道是否有一种简单的方法可以做到这一点:

我有一个user_id列,然后有33个其他列,其类型为'0'或'1'。 如何轻松选择user_id = 320且列数据等于1的所有列?

列标题标记为1-33。 最后,我想将其连接到另一个表,其中1-33是标签列的ID。

这有意义吗?

谢谢你的帮助!

试试这个,我得到所有字段并测试它是否BIT,然后将其注入查询中,请告诉我结果

<?php
$result = mysql_query("SHOW COLUMNS FROM sometable");
if (!$result){
    echo 'Could not run query: ' . mysql_error();
    exit;
}
if (mysql_num_rows($result) > 0){
    $str =""; 
    $nums = mysql_num_rows($result);
    $i = 0 ;  
    while ($row = mysql_fetch_assoc($result)){
       $i++; 
       if($row['Type'] = 'BIT' && $i != $nums){
           $str .= " WHERE `".$row['Field']."` = 1 AND";  
       }
       elseif($row['Type'] = 'BIT' && $i == $nums){
           $str .= " WHERE `".$row['Field']."` = 1 "; 
       }
    }
}
$query = "SELECT * FROM mytable user_id = 320 AND ".$str;
$q = mysql_query($query); 

这是针对您的第一部分,第二部分是相同的操作,并且在不知道字段名称的情况下工作

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM