【发布时间】:2016-07-26 10:10:08
【问题描述】:
我有一个带有 3 个表的 sqlite 数据库。表 1、表 2 和表 3。
我正在使用以下 API 从数据库中删除行:
int rowsAffected = db.delete(tableName, "columnName=?", new String[] {String.valueOf(shoeId)});
现在,当我为 TABLE1 和 TABLE2 运行此 API 时,行会被很好地删除,并且我在 rowsAffected 中得到正确的数字。但是当我将此 API 用于 TABLE3 时,我总是将 rowsAffected 设为 0,并且没有删除任何条目。
int rowsAffected = db.delete(tableName, "columnName=?", new String[] {String.valueOf(shoeId)});
所有 3 个表都有 shoeId 列。
有人可以帮忙吗?
谢谢。
【问题讨论】:
-
您是否检查过您获得并传递的哪个 shoeId 包含该表
-
你有没有给任何外键?
-
删除方法不应该像
int delete (String table, String whereClause, String[] whereArgs)?但是您似乎将表的名称放入约束中。所以这应该会导致类似“DELETE FROM”+ tableName +“WHERE TABLE3”的查询
标签: android sqlite android-sqlite sql-delete