mysql添加记录自动100条应该怎么写啊?
BEGIN for id in 1..200 loop insert into user(name, password) values ('abc'||id, 'abc'||id); end loop; END; 我想设置用户名是abc1,abc2,...abc200这样,应该怎样自动添加啊?
BEGIN for id in 1..200 loop insert into user(name, password) values ('abc'||id, 'abc'||id); end loop; END; 我想设置用户名是abc1,abc2,...abc200这样,应该怎样自动添加啊?
答案:SQL:
CREATE DATABASE /*!32312 IF NOT EXISTS*/`stu` /*!40100 DEFAULT CHARACTER SET utf8 */;
USE `stu`;
/*Table structure for table `xuesheng` */
DROP TABLE IF EXISTS `xuesheng`;
CREATE TABLE `xuesheng` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(6) NOT NULL,
`sex` varchar(6) NOT NULL,
`age` smallint(2) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CODE:
<?php
/*
coded by Yushine, 2011-10-1 12:47
*/
$config = array();
$config['host'] = 'localhost';
$config['user'] = 'root';
$config['dbpass'] = 'root';
$config['dbname'] = 'stu';
$con = mysql_connect($config['host'], $config['user'], $config['dbpass']);
mysql_query("set names 'UTF8'");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
else
{
mysql_select_db($config['dbname']);
for ($i=1; $i<=10000; $i++)
{
insert();
}
}
function insert()
{
$name = 'name'.rand();
$sex = array("男","女");
$rand_sex = $sex[array_rand($sex,1)];
$age = rand(10,20);
$sql = "INSERT INTO xuesheng (name, sex, age) VALUES ('".$name."', '".$rand_sex."', ".$age.")";
mysql_query($sql);
}
这是之前我写的 你改改就能用了。
其他:这个是MYSQL中用存储过程实现
CREATE DEFINER=`root`@`localhost` PROCEDURE `NewProcedure`()
BEGIN
DECLARE i INT,x varchar(20);
SET i=1;
SET x='abc';
WHILE i<201 DO
INSERT INTO users(id,password) VALUES (x+concat(i),x+concat(i));
SET i = i + 1;
END WHILE;
END;
你测试下看行不。
MSSQL中下面这个可行,我机器上只有MSSQL和Oracle
declare @num int,@text varchar(15)
set @text='abc'
set @num=1
while @num<201
begin
insert into users(id,password) values(@text+STR(@num),@text+str(@num))
set @num=@num+1
end
上一个:MYsql 触发器问题
下一个:tomcat7 windows 7系统 mysql 5.5 用JDBC连接mysql写入数据库数据时报错