以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [讨论]使用SQLCommand执行insert into 两表字段顺序必须一致 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=169071) |
-- 作者:绿火柴 -- 发布时间:2021/6/1 16:13:00 -- [讨论]使用SQLCommand执行insert into 两表字段顺序必须一致 使用SQLCommand执行insert into 两表字段顺序必须一致 算不算,狐表的 bug
|
-- 作者:y2287958 -- 发布时间:2021/6/1 16:17:00 -- 是吗,不应该啊 |
-- 作者:有点蓝 -- 发布时间:2021/6/1 16:22:00 -- 没看懂什么意思?下面这种?肯定是要一致的呀 insert into 表A select * from 表B
|
-- 作者:绿火柴 -- 发布时间:2021/6/1 16:38:00 -- insert into 表A SEL ECT a,b,c,d,e from 表B 但后台SQL 表A的字段顺序是 a,b,c,e,d 执行后, 会把表B中的d数据复制给表A的e, 会把表B中的e数据复制给表A的d, 也就是说,表A与表B的顺序必须一致,这样子应该是不合理的。 我把后台SQL中表A的字段顺序调整为a,b,c,d,e 正常。
[此贴子已经被作者于2021/6/1 16:43:57编辑过]
|
-- 作者:有点蓝 -- 发布时间:2021/6/1 16:44:00 -- 不是您认为合理不合理的问题,而是SQL本身的语法就是这样的,不要自己想当然了。这种用法本来就是按顺序匹配的,而不是按列名匹配的,因为2个表列名可以完全不一样 |
-- 作者:有点蓝 -- 发布时间:2021/6/1 16:54:00 -- 可以显式指定对应的列名,就不会乱了 insert into 表A (a,b,c,d,e) SELECT a,b,c,d,e from 表B
|
-- 作者:y2287958 -- 发布时间:2021/6/1 16:56:00 -- 本应如此 |
-- 作者:绿火柴 -- 发布时间:2021/6/2 8:31:00 -- 收到,确实是SQL本身的问题。谢了! |