SQLite WHERE 子句在 INTEGER 列上的问题
我的 Android 应用程序使用如下所示的几个表:
public static final String TABLE_NAME = "releve";
[...]
public static final String DH_ECRITURE_BASE = "dhEcritureBase";
private static final String CREATE_TABLE = "CREATE TABLE " + TABLE_NAME + "(" +
ID_RELEVE + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
ID_COMPTEUR + " INTEGER, " +
ID_MATERIEL + " INTEGER, " +
NATURE + " TEXT, " +
DH_RELEVE + " INTEGER, " +
VALEUR_RELEVE + " TEXT, " +
COMMENTAIRE + " TEXT, " +
DH_ECRITURE_BASE + " INTEGER" +
");";
当我在包含较大值的最后一列上使用 WHERE 请求时,没有任何反应。 例如:
String query = "DELETE FROM releve WHERE dhEcritureBase='1760323320'";
Cursor cursor = db.rawQuery(query, null);
不起作用。
当然,dhEcritureBase 中有一条具有正确值的记录。其他数字列上的 WHERE 效果很好。
包含大值的 SQLite 和 INTEGER 列是否存在已知问题?
my Android application uses several tables like the following :
public static final String TABLE_NAME = "releve";
[...]
public static final String DH_ECRITURE_BASE = "dhEcritureBase";
private static final String CREATE_TABLE = "CREATE TABLE " + TABLE_NAME + "(" +
ID_RELEVE + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
ID_COMPTEUR + " INTEGER, " +
ID_MATERIEL + " INTEGER, " +
NATURE + " TEXT, " +
DH_RELEVE + " INTEGER, " +
VALEUR_RELEVE + " TEXT, " +
COMMENTAIRE + " TEXT, " +
DH_ECRITURE_BASE + " INTEGER" +
");";
When I request with a WHERE on the last column, which contains large values, nothing happens.
For example :
String query = "DELETE FROM releve WHERE dhEcritureBase='1760323320'";
Cursor cursor = db.rawQuery(query, null);
does not work.
Of course, there is a record with the right value in dhEcritureBase. A WHERE on other numeric columns works well.
Is there a known issue with SQLite and INTEGER columns containing large values?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论