Sqlite在列定义之前添加tablename

时间:2016-04-26 06:27:09

标签: sqlite android-sqlite

允许在列名前写入tablename以使查询更准确。

例如。我有一个表“customer”,其中包含“name”列。可以在每个sql语句中写入“customer.name”而不是“name”吗? 我可以在create语句中使用long版本吗? 我知道长版本可以防止连接语句中的错误,所以为什么不一直使用它。

1 个答案:

答案 0 :(得分:0)

INSERT / UDPATE / DELETE语句只能在单个表上运行,因此必须指定普通列名,并且不能使用别名重命名该表。 (好吧,DELETE没有指定列。)

但是,使用子查询时这是不同的;使用SELECT,所有功能都可用:

UPDATE MyTable                 -- no alias allowed
SET ParentName =               -- no table name allowed
        (SELECT T2.Name
         FROM MyTable AS T2
         WHERE T2.ID = MyTable.ParentID);