2016-04-26 66 views
0

允許在列名之前寫入表名以使查詢更加準確。Sqlite在列定義之前添加表名

例如。我有一個表「客戶」列「名稱」。在每個sql語句「customer.name」而不是「name」中寫入可以嗎? 我可以在創建語句中使用長版本嗎? 我知道長版本可以防止連接語句中的錯誤,所以爲什麼不一直使用它。

+0

'爲什麼不使用它所有的時間,因爲它是**不需要**。 –

回答

0

INSERT/UDPATE/DELETE語句只能在單個表上操作,因此您必須指定普通列名稱,並且不能使用別名重命名該表。 (好吧,DELETE沒有指定列。)

但是,使用子查詢時這是不同的;與選擇,所有功能都可用:

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