这是我的表架构
create table Account (accountId) // accountId is long in practice
我无法使用 delete 的参数版本来删除给定长 id 的行。下面的 getPk() 返回一个长 id。
getDb().delete("Account", "accountId = ?", new String[]{ account.getPk().toString()});
但是,我可以通过在 where 子句中传递参数来解决这个问题。
getDb().delete("Account", "accountId = " + account.getPk().toString(), null);
我的猜测是 delete 的参数版本适用于字符串参数,但不适用于整数/长参数。有什么见解吗?
编辑: 另一个奇怪的事情是,如果我将表模式更改为下面,删除的两个版本都可以正常工作。
create table Account (accountId integer primary key autoincrement)