semasa menulis penyata:
while '条件' do 循环体语句; end while;
Lihat dan padam prosedur tersimpan:
drop procedure if exists test_insert; delimiter $$ create procedure test_insert(n int) begin declare v int default 0; set AUTOCOMMIT = 0; while v < n do insert into test(second_key, text, field_4,status, create_date) values ((v*10), concat('t',v), substring(md5(rand()), 1, 10), 'good', adddate('1970-01-01', rand(v) * 10000)); set v = v + 1; end while; set AUTOCOMMIT = 1; end$$ delimiter ;
Buat jadual
mysql> show procedure status like 'test_insert'; mysql> show create procedure test_insert\G; mysql> drop procedure if exists test_insert;
Masukkan 1 juta keping data
CREATE TABLE test ( id INT NOT NULL AUTO_INCREMENT, second_key INT, text VARCHAR(20), field_4 VARCHAR(20), status VARCHAR(10), create_date date, PRIMARY KEY (id), KEY idx_second_key (second_key) ) Engine=InnoDB CHARSET=utf8;
mysql> call test_insert(1000000); Query OK, 0 rows affected (31.86 sec)
Sisipkan 10 keping data
drop procedure if exists test_insert; delimiter $$ create procedure test_insert(n int) begin declare v int default 0; while v < n do insert into test(second_key, text, field_4,status, create_date) values ((v*10), concat('t',v), substring(md5(rand()), 1, 10), 'good', adddate('1970-01-01', rand(v) * 10000)); set v = v + 1; end while; end$$ delimiter ;
Buka tetingkap lain untuk melihat
mysql> call test_insert(10000); Query OK, 1 row affected (1 min 8.52 sec)
Atas ialah kandungan terperinci Bagaimana untuk menggunakan semasa untuk memasukkan data dalam kumpulan dalam storan mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!