我有一个12列200行的表。我想用php/mysql高效地检查这个表中的空/空字段。例如。 “(第3行第30行)是空的”。有没有一个功能可以做到这一点? 简介:SELECT * FROM TABLE_PRODUCTS其中任何列都有空的字段。检查mysql表中的空字段
0
A
回答
1
SELECT * FROM table WHERE COLUMN IS NULL
4
empty != null
select * from table_products where column is null or column='';
1
据我知道有没有函数来检查在MySQL中的每一列,我想你必须通过柱像这样循环......
$columns = array('column1','column2','column3');
foreach($columns as $column){
$where .= "$column = '' AND ";
}
$where = substr($where, 0, -4);
$result = mysql_query("SELECT * FROM table WHERE $where",$database_connection);
//do something with $result;
=''将为您获得空白字段。
+0
你好,谢谢。而不是手动列出列,是否有办法一次列出所有列? – karto 2011-01-06 15:52:21
0
$sql = "SELECT * FROM TABLE_PRODUCTS";
$res = mysql_query($sql);
$emptyFields = array();
while ($row = mysql_fetch_array($res)) {
foreach($row as $key => $field) {
if(empty($field)) || is_null($field) {
$emptyFields[] = sprintf('Field "%s" on entry "%d" is empty/null', $key, $row['table_primary_key']);
}
}
}
print_r($emptyFields);
未测试,所以它可能有错别字,但这是主要想法。 这就是如果你想确切知道哪一列是空的或NULL。
此外,它不是一个非常有效的方式来做一个非常大的表,但应该快速与200行长的表。也许还有用于处理应用程序中的空/空字段简洁的解决方案,不涉及不必明确检测它们一样,但是这取决于你想做的事:)
+0
谢谢朋友,它现在像魔术一样工作。只需要格式化一下。为我节省了很多时间。 – karto 2011-01-06 17:04:57
1
你总是可以尝试这个方法是什么:
//do connection stuff beforehand
$tableName = "foo";
$q1 = <<<SQL
SELECT
CONCAT(
"SELECT * FROM $tableName WHERE" ,
GROUP_CONCAT(
'(' ,
'`' ,
column_name,
'`' ,
' is NULL OR ',
'`' ,
column_name ,
'`',
' = ""' , ')'
SEPARATOR ' OR ')
) AS foo
FROM
information_schema.columns
WHERE
table_name = "$tableName"
SQL;
$rows = mysql_query($q1);
if ($rows)
{
$row = mysql_fetch_array($rows);
$q2 = $row[0];
}
$null_blank_rows = mysql_query($q2);
// process the null/blank rows..
1
<?php
set_time_limit(1000);
$schematable = "schema.table";
$desc = mysql_query('describe '.$schematable) or die(mysql_error());
while ($row = mysql_fetch_array($desc)){
$field = $row['Field'];
$result = mysql_query('select * from '.$schematable.' where `'.$field.'` is not null or `'.$field.'` != ""');
if (mysql_num_rows($result) == 0){
echo $field.' has no data <br/>';
}
}
?>
0
检查这个代码空场
$sql = "SELECT * FROM tablename WHERE condition";
$res = mysql_query($sql);
while ($row = mysql_fetch_assoc($res)) {
foreach($row as $key => $field) {
echo "<br>";
if(empty($row[$key])){
echo $key." : empty field :"."<br>";
}else{
echo $key." =" . $field."<br>"; 1
}
}
}
相关问题
- 1. mysql检查是否为空字段
- 2. 检查HTML表单上的空字段
- 3. 检查空字段的JavaScript
- 4. 检查在表中的字段的MySql字
- 5. jquery检查空字段
- 6. 检查MySql中的空单元格表
- 7. MYSQL搜索表中的空字段
- 8. 如何检查字段为空或空mysql?
- 9. 如何使用MySQL查询检查空值字段?
- 10. MySQL检查字段是否为空,然后运行查询
- 11. 在jQuery中检查所有空字段
- 12. 空栏或空字段检查在rails中的postgres查询
- 13. 检查MySQL表中的字段是否等于1的函数
- 14. 如何使用JavaScript检查HTML表单中的空字段
- 15. 如何检查表单中的任何字段是否为空
- 16. 检查表单中的多个空字段
- 17. 检查表格中的所有字段是否为空
- 18. PostgreSQL搜索查询 - 检查空字段
- 19. MySQL确切的词存在检查表中字段
- 20. 字段列表中的MYSQL子查询
- 21. MySQL检测字段是否为空
- 22. 检查所有字段的空值
- 23. Android:检查空的EditText字段
- 24. 检查空值的字段值
- 25. 检查mysql的升序字段
- 26. 表单字段检查
- 27. 检查表字段postgres
- 28. 检查表中是否有任何字段有空值
- 29. 检查表格中是否有空字段
- 30. XML到MySQL检查XML字段是否为空
没有在表中 “30行”。这是一堆,而不是有序的列表。 – 2011-01-06 17:53:22