如何从表中获取空记录的列名?例如:
SELECT column.name FROM table WHERE id='1111' AND column_name=''
它应该从表中返回空列的每个标题。
如果您使用 mysql 5.0+,您可以获得表的所有列名,如下所示:
SELECT COLUMN_NAME
FROM `information_schema`.`COLUMNS`
WHERE TABLE_NAME='$table_name'
ORDER BY ORDINAL_POSITION
注意:将 $table_name 更改为您的表名。
这也是一种方法:
$mysql_query = mysql_query("describe table");
while ($row = mysql_fetch_array($mysql_query)) {
echo $row[0]."</br>";
}
为了简单起见,我会用 php 来做,但是可能有一种复杂的 mysql 方法可以在 dbms 级别做到这一点
在伪代码中:
$result = MYSQL_FETCH_ASSOC ( MYSQL_QUERY( SELECT * FROM table WHERE id='1111' ) )
$blankCols = array();
foreach($result[0] as $key=>$value){
if($value=="")
{
$blankCols[] = $key;
}
}
正如我之前提到的,这看起来很丑陋,看起来像是一个糟糕的数据结构设计。