我该如何编写SQLite查询?

问题描述 投票:1回答:2

在SQLite中向Database写入查询时,我应该像这样编写它们:

String query = "SELECT Items.ItemName, Items.ItemId, Items.Checked FROM Lists JOIN Items ON Lists.Id = Items.IdList WHERE Lists.Name=?";

或者像这样:

String query = "SELECT " + TABLE_ITEMS + "." + ITEM_NAME + ", " + TABLE_ITEMS + "." + ITEM_ID + ", " + TABLE_ITEMS
                + "." + ITEM_CHECKED + " FROM " + TABLE_LISTS + " JOIN " + TABLE_ITEMS + " ON " + TABLE_LISTS
                + "." + LIST_ID + "=" + TABLE_ITEMS + "." + ITEM_ID_LIST_FOREIGN_KEY + " WHERE " + TABLE_LISTS + "." + LIST_NAME + "=?";

我应该使用什么原则?

android sql sqlite android-sqlite
2个回答
1
投票

我更喜欢第一种选择。是的,如果你想改变一个字段/表名,你会有很多替换,但......

如果您决定编写原始查询而不是使用ORM,那么替换总是不可避免的。


0
投票

第二种方法是我通常喜欢的方法。这是因为 :

  • 如果要更改表的其中一个字段,则不需要更新每个查询。只需更新一次字段,所有查询都可以正常工作。
  • 更改数据库版本时。您可以在第二种方法中轻松更新它。

没有“原则”,但使用第二种方法比第一种方法有明显的优势。

© www.soinside.com 2019 - 2024. All rights reserved.