给定一个包含多个文本列的记录的SQLite数据库,空单元格(即从未更新过的单元格)的值是多少?它会是零,0还是空字符串?
例如,请考虑下表,其中A,B和C是文本列:
id A B C
_ _ _ _
1 d e f
2 g h
3 i
细胞2C,3B和3C的价值是多少?
如果我要使用以下查询一次更新此表一条记录
update table set A=? B=? C=? where id=?
'?'的绑定值是什么?用空单元格更新记录时?如果重要的话,我正在使用iOS。
由于只有一些单元格为空,另一种选择是一次更新一个单元格,而不是一次更新一个单元格。然而,这感觉效率低下。
答案 0 :(得分:0)
根据SQLite文档[1],新值是创建/上次修改表时定义的默认值或NULL
,这与iOS中的nil
不同。
假设您可以控制相关数据库,您可以在该表中定义一个适合您需要的默认值。如果不是这种情况,您的代码将需要测试该值以确保它得到适当处理。