我來自同一個表在一個單獨的數據庫文件添加記錄表:插入*查詢 - 字段順序危險?
INSERT INTO P
SELECT *
FROM P IN 'C:\update.accdb'
我可以相信訪問是匹配字段由名稱或字段順序?如果有人在C:\ update.accdb中重新命令P的字段,是否會破壞映射?
我來自同一個表在一個單獨的數據庫文件添加記錄表:插入*查詢 - 字段順序危險?
INSERT INTO P
SELECT *
FROM P IN 'C:\update.accdb'
我可以相信訪問是匹配字段由名稱或字段順序?如果有人在C:\ update.accdb中重新命令P的字段,是否會破壞映射?
該數據庫與現場訂單相匹配的名稱,而不是按名稱。
總是使用列列表。
我很驚訝,在這一點上文檔是完全模糊的。但是SQL標準和其他每個數據庫都使用位置。 MS Access做同樣的事情,因爲沒有要求在select
子句中命名字段。所以,沒有必要有任何信息來對齊名稱。
但我可以通過排除列名來節省一些擊鍵,並且所有花費我的代價都是大規模的不可數據數據損壞? ;-)呃,我有一些查詢要修改。 – pteranodon
@ pteranodon。 。 。哦,通常它是可檢測的。在一些很難調試的行上會出現一些非常奇怪的錯誤。 –
我會注意到,如果日期字段由於插入時的數據驗證錯誤而收到文本,但兩個數字字段切換會導致無聲錯誤映射。商Yipes!始終使用列列表。始終使用列列表。 – pteranodon
@Gordon Linoff已經說過這一點,但只是強調:
你的同事,客戶,一般的後代到第n代都會感謝你。
所以您的查詢應該是:
insert into something (columns...)
select columns...
from somewhere
你爲什麼不指定列名,那麼你就會知道被插入到底是什麼以及以什麼順序。 – supergrady