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) = ''