我有一個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