Android 插入覆盖默认为空

Android 插入覆盖默认为空,android,android-sqlite,Android,Android Sqlite,创建一个带有TEXT列的表,默认为NULL public class DbHelper extends SQLiteOpenHelper { @Override public void onCreate(SQLiteDatabase db) { db.execSQL("CREATE TABLE ttt (k TEXT, v TEXT DEFAULT NULL)"); } } 插入行,但不指定NULL-默认列 SQLiteDatabase db = dbH

创建一个带有
TEXT
列的表,默认为
NULL

public class DbHelper extends SQLiteOpenHelper {
    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL("CREATE TABLE ttt (k TEXT, v TEXT DEFAULT NULL)");
    }
}
插入行,但不指定
NULL
-默认列

SQLiteDatabase db = dbHelper.getWritableDatabase();
values.put("k", "1");
db.insertWithOnConflict("ttt", null, values, SQLiteDatabase.CONFLICT_IGNORE);
然后从ttt执行
SELECT*,其中v为NULL
(我使用Chrome开发者工具,通过Stetho连接到数据库)。结果是nothing,因为刚刚插入的行中的
k
突然不是空的,尽管期望它应该是空的

如果我“手动”插入行,执行
insert或IGNORE到ttt(k)值('2')
,然后重复
SELECT*FROM ttt,其中v为NULL
,我只得到第二列(其中
k=2
),正如预期的那样

有人能证实这种行为吗?这是Android SDK中的一个bug吗

p.S.已尝试添加

values.putNull("v");
但这没有帮助:(