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