怎样用SQL向数据库中批量的插入数据,主键是随机生成的

想向数据库的一个表中批量的加入数据几十万条,主键是随机生成的20左右位字符串,其他字段无所谓,SQL语句应该怎么写?或者有别的方法也可以... 想向数据库的一个表中批量的加入数据几十万条,主键是随机生成的20左右位字符串,其他字段无所谓,SQL语句应该怎么写?或者有别的方法也可以 展开
 我来答
秀乞群群
2015-07-06 · TA获得超过19万个赞
知道顶级答主
回答量:6.7万
采纳率:91%
帮助的人:2.4亿
展开全部

代码如下:

--创建测试表 
CREATE TABLE [Identity]( 
Id INT IDENTITY(1,2) NOT NULL PRIMARY KEY,--种子的起始值1,步长2 
Number VARCHAR(20) UNIQUE NOT NULL, 
Name VARCHAR(20) NOT NULL, 
Password VARCHAR(20) DEFAULT(123), 
Description VARCHAR(40) NULL 

--插入记录 
INSERT INTO [Identity](Number,Name,Description) VALUES('001','1st','Id=1,因为起始值1') 
INSERT INTO [Identity](Number,Name,Description) VALUES('002','2nd','Id=3,因为起始值1,步长2') 
INSERT INTO [Identity](Number,Name,Description) VALUES('003','3rd','Id=5,由于字符长度超长,报错插入失败,造成此Id产生后被放弃') 
INSERT INTO [Identity](Number,Name,Description) VALUES('004','4th','Id=7 not 5,因为第三条记录插入失败') 
--检索记录,查看结果 
SELECT * FROM [Identity]
Chris_Quiet
2008-10-24 · TA获得超过247个赞
知道小有建树答主
回答量:132
采纳率:0%
帮助的人:164万
展开全部
使用数据类型uniqueidentifier最合适了

--创建表
CREATE TABLE [A_Tmp] (
[Primary_ID] [uniqueidentifier] NOT NULL ,
[Col1] [VarChar] (10) COLLATE Chinese_PRC_CI_AS NULL,
[Col2] [VarChar] (10) COLLATE Chinese_PRC_CI_AS NULL,
[Col3] [VarChar] (10) COLLATE Chinese_PRC_CI_AS NULL
CONSTRAINT [PK_A_Tmp] PRIMARY KEY NONCLUSTERED
(
[Primary_ID]
) WITH FILLFACTOR = 90 ON [PRIMARY]
) ON [PRIMARY]
GO

DECLARE @MyID uniqueidentifier
DECLARE @INT AS INT
SET @INT = 0
WHILE @INT < 500000 --这里设置需要插入多少行
BEGIN
SET @INT = @INT + 1
SET @MyID = NEWID()
INSERT INTO A_Tmp (Primary_ID, Col1, Col2, Col3) SELECT @MyID, '', '', ''
END
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式