gpt4 book ai didi

php - 如果某些列为空则删除行

转载 作者:行者123 更新时间:2023-11-29 21:02:48 25 4
gpt4 key购买 nike

我的数据库中有一个动态表,该表的列已从其他脚本中更改和删除。因为所有这些额外的列最终可能会保存 null 或空值,所以我希望在某处进行“清理”操作来检查这些单元格,如果全部为空,则删除整行。

enter image description here

红色的是我要检查的。如果两列都为 null 或空 WHEREcustomers_id = 1,则删除行。

就像我说的,这只是一个示例...customers_id 之后可能有 5 或 10 列。我需要检查它们是否为空。我可以在字符串中获取这些额外列的所有名称,如下所示:

$temparray = array();
$q = mydb_query("SHOW COLUMNS FROM $table WHERE field NOT REGEXP 'id|customers_id'");
while($row = mydb_fetch_array($q)){
$temparray[] = $row['Field'];
}
$forSQL = " '".implode("', '", $temparray)."' "; // gives 'client_custom_contact_person', 'client_custom_password'
$forPHP = implode(", ", $temparray); //gives client_custom_contact_person, client_custom_password

检查所有这些列值是否为空以删除该行的最快方法是什么?

我应该使用 php foreach 函数吗?或者我可以做更快的 mysql 查询吗?

-谢谢

最佳答案

想通了。使用 $forPHP 字符串:

$q2 = mydb_query("SELECT $forPHP FROM $table WHERE customers_id = 1");
$res = mydb_fetch_assoc($q2);
if(!array_filter($res)) {
//If all are empty then
mydb_query("DELETE FROM $table WHERE customers_id = 1");
}

关于php - 如果某些列为空则删除行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37070244/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com