如何在列中创建1000个具有相同值的行?

问题描述:

我想创建例如1000行与我的表中的每列相同的值(唯一的区别是自动增量第一个id列),但是我不知道如何写这个mysql语句。如何在列中创建1000个具有相同值的行?

有什么建议吗?

+0

你只是这样做在PHP myadmin? – Trey 2011-06-01 18:21:58

+0

是的,在phpmyadmin – marian 2011-06-01 18:23:25

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); 
+0

谢谢队友,这是按预期工作;) – marian 2011-06-01 18:40:02

+0

不客气;) – 2011-06-01 18:41:13

我不知道你可以在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); 
}