我在一个单独的数据库文件中从同一个表向一个表添加记录:
INSERT INTO P
SELECT *
FROM P IN 'C:update.accdb'
我可以相信Access按名称或按字段顺序匹配字段吗?如果有人在C:\update.accdb中重新排序P的字段,这会破坏映射吗?
数据库按字段顺序匹配名称,而不是按名称匹配。
始终使用列列表。
SQL标准和其他所有数据库都使用位置。MS Access也做同样的事情,因为不需要在select
子句中命名字段。因此,不一定有任何用于对齐名称的信息。
@Gordon Linoff已经说过了,但只是为了强调:
始终在每个数据库、每个查询中使用列列表
你的同事、客户以及第n代的后代都会感谢你。
所以你的查询应该是:
insert into something (columns...)
select columns...
from somewhere