我想创建例如我的表中每列的1000行具有相同的值(唯一的区别是autoincrement first id列),但是我不知道如何编写这个mysql语句。
有什么建议吗?
答案 0 :(得分:13)
create table mytest (
id int not null auto_increment primary key,
col1 varchar(10),
col2 varchar(10)
) engine = myisam;
delimiter //
create procedure populate (in num int)
begin
declare i int default 0;
while i < num do
insert into mytest (col1,col2) values ('col1_value','col2_value');
set i = i + 1;
end while;
end //
delimiter ;
call populate (1000);
答案 1 :(得分:0)
我不知道你可以在MySQL中做到这一点,但@nick rulez我猜有更好的答案,不过这就是你可以通过PHP做到的。
$host = 'localhost';
$username = 'myusername';
$password = 'mypassword';
$connect = mysql_connect($host, $username, $password);
for($i=0; $i<=1000; $i++) {
$query = 'INSERT INTO tablename(column1, column2, column3) VALUES (value1, value2, value3)';
mysql_query($query);
}