【发布时间】:2020-07-27 16:39:34
【问题描述】:
android.database.sqlite.SQLiteException: near ",": syntax error (code 1): , while compile:
从 order_details 中选择 transaction_detail_outlet_id LEFT OUTER JOIN 帐户 ON order_details.account_id = accounts._id AND account.account_name = 'asset1andriodx' 左外连接仓库_skunits_inventory ON order_details.transaction_detail_skunit_id = 仓库_skunits_inventory.skunit_id AND order_details.transaction_detail_from_warehouse_id = 仓库_skunits_inventory.warehouse_id 左外连接(选择 * FROM 仓库_skunits_pricing 哪里(仓库id,skunit_id,skunit_batch_id, skunit_price_priority ) IN ( 选择 仓库id, skunit_id, skunit_batch_id, 最大(skunit_price_priority)AS skunit_price_priority 从 仓库_skunits_pricing 团体 通过仓库_id, skunit_id, skunit_batch_id)) 作为 仓库_skunits_pricing 在 order_details.transaction_detail_skunit_id = 仓库_skunits_pricing.skunit_id AND order_details.transaction_detail_from_warehouse_id = 仓库_skunits_pricing.warehouse_id 左外连接 在 order_details.transaction_detail_skunit_id = skunits.skunit_id LEFT OUTER JOIN 折扣 ON order_details.transaction_detail_skunit_id = discounts.discount_skunit_id AND order_details.transaction_detail_outlet_id = discounts.discount_outlet_id 左外连接 form_type ON order_details.transaction_detail_skunit_id = form_type.form_type_type_id AND form_type.form_type_form_type = 'skunits_order' 左外连接 outlet_targets ON order_details.transaction_detail_outlet_id = outlet_targets.outlet_targets_outlet_id AND order_details.transaction_detail_skunit_id = outlet_targets.outlet_targets_skunit_id 左外连接批次 ON 仓库_skunits_inventory.skunit_id = batches.batch_skunit_id AND 仓库skunits_inventory.skunit_batch_id = batches.batch_id WHERE (transaction_detail_draft = '0' 或 transaction_detail_draft = '2' )
一旦我们在 android 版本
在之前的应用程序中,我们使用了 sqlcipher,我们现在将其删除,结果发现 sqlcipher 有它自己的语法格式,因此它不会对旧设备造成任何问题.
对于不同版本的android,sqlite 是否有不同的语法。因为 sqlite 库已经更新(“androidx.sqlite:sqlite:2.1.0”),它也应该支持旧设备的 db 引擎。(或者它是如何基于 android 版本工作的)
我已将所有双引号“字符串”查询更新为“单”引号,这是我在试验时发现的一种语法变化。
是否有任何简单的解决方案可以在所有 android 设备中支持相同的语法?
【问题讨论】:
-
你检查了android版本select sqlite_version();一探究竟。
标签: android sqlite android-sqlite