表有3个字段,BULK INSERT 只插入一个字段

liuxin_0725 2011-05-19 10:58:27
列如我有两个表
t_order 字段f_id,f_name
t_numberList 字段 f_id,f_orderID,f_number

number.txt 文件数据全是手机号码 格式是一行一个号码 列如

13511111111
13522222222
13533333333
13544444444

sql语句
BULK Insert t_numberList from 'D:\MPSystem\file\number.txt' WITH (FIELDTERMINATOR= ',',ROWTERMINATOR= '\n')

会报错但如果,我把numberList 表里的f_id,f_orderID 字段删掉。
数据就能插入进去,数据是这样
f_number
13511111111
13522222222
13533333333
13544444444

不是我想要的结果,我要的是这样
t_order是主表,f_number是子表数据
我要的结果是先插入了一条数据到t_order表 把得到id再插入到t_numberList 的 f_orderID
然后 number.txt 文件数据 插入到f_number,f_id是自动增长。
想要的数据是这样
f_id,f_orderID,f_number
1 10 13511111111
2 10 13522222222
3 10 13533333333
4 10 13544444444


希望那位高手帮我把sql语句写出来, 很急 很急, 小弟感激不尽, 在线等
...全文
241 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Corporal 2011-05-20
  • 打赏
  • 举报
回复
没有一条Sql语句能一次在两张表中插入数据吧。

你只能是分开做。

liuxin_0725 2011-05-20
  • 打赏
  • 举报
回复
还有没有知道呀, 还是用问题, 我希望的是一条sql语句就能全部搞定、。
qgqch2008 2011-05-19
  • 打赏
  • 举报
回复
上面的路径你自己改一下,我放在C盘的
qgqch2008 2011-05-19
  • 打赏
  • 举报
回复
CREATE TABLE t_order(f_id INT IDENTITY(1, 1) PRIMARY KEY ,f_name VARCHAR(1) DEFAULT NULL )
INSERT dbo.t_order( f_name )
SELECT NULL
UNION ALL
SELECT NULL--随便插两条数据

CREATE TABLE t_numberList (f_id INT IDENTITY(1,1) PRIMARY KEY,f_orderID INT,f_number CHAR(11))

CREATE TABLE #tb(f_number CHAR(11))--创建临时表,先把数据导到这里

BULK Insert #tb from 'c:\number.txt' WITH (FIELDTERMINATOR= ',',ROWTERMINATOR= '\n');

INSERT dbo.t_numberList( f_orderID, f_number )
SELECT (SELECT MAX(f_id)+1 FROM dbo.t_order) AS f_orderID,f_number FROM #tb;

SELECT * FROM dbo.t_numberList

DROP TABLE #tb,dbo.t_order,dbo.t_numberList
/*
f_id f_orderID f_number
----------- ----------- -----------
1 3 13511111111
2 3 13522222222
3 3 13533333333
4 3 13544444444

(4 行受影响)
*/
ADZERO 2011-05-19
  • 打赏
  • 举报
回复
你的意思是,三个字段,你只要插入两个?其中一个自动标识列?
极地_雪狼 2011-05-19
  • 打赏
  • 举报
回复
帮你顶一下。
z050301402 2011-05-19
  • 打赏
  • 举报
回复
没弄过这东西 给顶一下

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧