2011-06-01 77 views
5

我想創建例如1000行與我的表中的每列相同的值(唯一的區別是自動增量第一個id列),但是我不知道如何寫這個mysql語句。如何在列中創建1000個具有相同值的行?

有什麼建議嗎?

+0

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

+0

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

回答

10
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

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); 
} 
相關問題