DROP TABLE IF EXISTS `test`;
CREATE TABLE `test` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(20) default NULL,
`age` int(11) default NULL,
`property` varchar(20) default NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;
请问要一次性插入1000条记录怎么办?这一千条记录只是要求id号依次增加,其余的几个字段无要求
使用如下命令似乎不行啊,请教解决方法,谢谢了(ps:使用的是mysql)
mysql> declare @i int
-> set @i=1
-> while @i<=1000
-> begin
-> insert into test (id,name,age,property) values(@i,'name','age','property')
-> set @i=@i+1
-> end;
出错:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'declare @i int' at line 1
4 个解决方案
#1
插入的时候不加自增列
直接这样
INSERT INTO TEST(NAME,AGE,propery) values('name','age','property')
直接这样
INSERT INTO TEST(NAME,AGE,propery) values('name','age','property')
#2
那请问要一次性插入1000条记录需要怎么办啊
#3
你可以把参数用到name或者其他列上面去
mysql> declare @i int
-> set @i=1
-> while @i<=1000
-> begin
-> insert into test (name,age,property) values('name'+@i,'age'+@i,'property'+@i)
-> set @i=@i+1
-> end;
试试这样
我没环境 没办法帮你测试。
mysql> declare @i int
-> set @i=1
-> while @i<=1000
-> begin
-> insert into test (name,age,property) values('name'+@i,'age'+@i,'property'+@i)
-> set @i=@i+1
-> end;
试试这样
我没环境 没办法帮你测试。
#4
哦 是INT格式的 你自己用CAST(@I AS VARCHAR(100))转化下 我就不写了
#1
插入的时候不加自增列
直接这样
INSERT INTO TEST(NAME,AGE,propery) values('name','age','property')
直接这样
INSERT INTO TEST(NAME,AGE,propery) values('name','age','property')
#2
那请问要一次性插入1000条记录需要怎么办啊
#3
你可以把参数用到name或者其他列上面去
mysql> declare @i int
-> set @i=1
-> while @i<=1000
-> begin
-> insert into test (name,age,property) values('name'+@i,'age'+@i,'property'+@i)
-> set @i=@i+1
-> end;
试试这样
我没环境 没办法帮你测试。
mysql> declare @i int
-> set @i=1
-> while @i<=1000
-> begin
-> insert into test (name,age,property) values('name'+@i,'age'+@i,'property'+@i)
-> set @i=@i+1
-> end;
试试这样
我没环境 没办法帮你测试。
#4
哦 是INT格式的 你自己用CAST(@I AS VARCHAR(100))转化下 我就不写了