Foxtable(狐表)用户栏目专家坐堂 → [讨论]使用SQLCommand执行insert into 两表字段顺序必须一致


  共有3943人关注过本帖树形打印复制链接

主题:[讨论]使用SQLCommand执行insert into 两表字段顺序必须一致

帅哥哟,离线,有人找我吗?
绿火柴
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:482 积分:4510 威望:0 精华:0 注册:2014/3/4 21:20:00
[讨论]使用SQLCommand执行insert into 两表字段顺序必须一致  发帖心情 Post By:2021/6/1 16:13:00 [只看该作者]

使用SQLCommand执行insert into 两表字段顺序必须一致
算不算,狐表的 bug

 回到顶部
帅哥,在线噢!
y2287958
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:4752 积分:34568 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2021/6/1 16:17:00 [只看该作者]

是吗,不应该啊

 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110569 积分:562735 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/6/1 16:22:00 [只看该作者]

没看懂什么意思?下面这种?肯定是要一致的呀

insert into 表A select * from 表B

 回到顶部
帅哥哟,离线,有人找我吗?
绿火柴
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:482 积分:4510 威望:0 精华:0 注册:2014/3/4 21:20:00
  发帖心情 Post By: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编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110569 积分:562735 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/6/1 16:44:00 [只看该作者]

不是您认为合理不合理的问题,而是SQL本身的语法就是这样的,不要自己想当然了。这种用法本来就是按顺序匹配的,而不是按列名匹配的,因为2个表列名可以完全不一样

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110569 积分:562735 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/6/1 16:54:00 [只看该作者]

可以显式指定对应的列名,就不会乱了

insert into 表A (a,b,c,d,eSELECT a,b,c,d,e from 表B

 回到顶部
帅哥,在线噢!
y2287958
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:4752 积分:34568 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2021/6/1 16:56:00 [只看该作者]

本应如此

 回到顶部
帅哥哟,离线,有人找我吗?
绿火柴
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:482 积分:4510 威望:0 精华:0 注册:2014/3/4 21:20:00
  发帖心情 Post By:2021/6/2 8:31:00 [只看该作者]

收到,确实是SQL本身的问题。谢了!

 回到顶部