如何解决没有表名的SQLite列名
| 在SQLite中查询数据库时,我发现为正在使用的表赋予别名很有用。它还有助于解决命名冲突。SELECT a._id,a.name,b.email FROM people AS a,emails AS b
但是,当我在游标中查找列“ __id \”,“名称”和“电子邮件”时,出现一个错误,即找不到列。仅当我将查询更改为:
SELECT a._id AS \"_id\",a.name AS \"name\",b.email AS \"email\" FROM people AS a,emails AS b
是否有一种无需额外工作即可获取基本列名称的方法?解决方法
为列声明别名是避免错误的更好方法。您要查询的两个表可能具有相同的列名,没有别名可能很难区分它们。区分它们的唯一方法是将它们与表名相关联或给它们提供别名。
别名可以使查询更易于编写和阅读。您可以使用别名为表或列指定其他名称。如果表名或列名非常长或复杂,这可能是一件好事,从我阅读的内容来看,这似乎是SQLite特有的问题。
SQLite(当前)不做任何
关于列名称的承诺
省略AS子句的查询。如果
您使用AS子句,然后
列名保证是
AS右侧的标签。如果你
省略AS子句,然后该列
名称可能会从一个版本更改
SQLite到下一个。
-http://old.nabble.com/Aliasing-and-columns-names-td18382558.html
我建议仅对有冲突的列使用表名别名。例如,在上面的示例中,如果_id是唯一有冲突的列,请执行以下操作:
SELECT a._id AS _id,name,email FROM people AS a,emails
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。