Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何检查SQLite行是否为空_Php_Sql_Sqlite - Fatal编程技术网

Php 如何检查SQLite行是否为空

Php 如何检查SQLite行是否为空,php,sql,sqlite,Php,Sql,Sqlite,如果值为空,我有以下内容,仅插入列two: UPDATE name SET one=?, two=COALESCE(two, ?), three=? WHERE id = ? 但是,这仅在列two的值为null时有效。如果它是NULL或空字符串,如何使其工作 它应该始终插入一个和三个。如果为NULL或空,则只应插入到two 我将SQLite与PHP一起使用如果“empty”是指空字符串,则可以使用nullif(): 更通用的解决方案是一个大小写表达式。不要在文本列中存储空字

如果值为空,我有以下内容,仅插入列
two

UPDATE name 
SET one=?,
    two=COALESCE(two, ?),
    three=? 
WHERE id = ?
但是,这仅在列
two
的值为
null
时有效。如果它是
NULL或空字符串
,如何使其工作

它应该始终插入
一个
三个
。如果为NULL或空,则只应插入到
two

我将SQLite与PHP一起使用

如果“empty”是指空字符串,则可以使用
nullif()


更通用的解决方案是一个
大小写
表达式。

不要在
文本
列中存储空字符串。
更新表格以将所有空字符串替换为
NULL
s:

UPDATE name
SET two = NULL
WHERE TRIM(two) = ''

现在您可以使用正确的查询,在任何其他查询中,您只需检查
NULL

使用空字符串有什么问题?@jefiwo空字符串的概念是它表示缺少的信息(),而空字符串是有效的字符串值。还有,只是为了实用。是否要检查2个(或更多)条件:列是否为NULL,列是否为空,列是否由空格组成?
UPDATE name
SET two = NULL
WHERE TRIM(two) = ''