您好,登錄后才能下訂單哦!
本篇文章為大家展示了Mysql中怎么實現(xiàn)批量插入,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
1.創(chuàng)建測試表:
create table t_emp (id int(8),SNO int(8));
2.創(chuàng)建PROCEDURE
DELIMITER //
CREATE PROCEDURE test_insert ()
BEGIN
DECLARE i INT DEFAULT 0;
WHILE i<1000
DO
INSERT INTO t_emp
VALUES
(i,CONCAT('2017',i));
SET i=i+1;
END WHILE ;
END//
備注:"DELIMITER //" mysql默認以分號作為sql語句的結(jié)束來進行執(zhí)行,當我們在創(chuàng)建存儲過程時,為了不讓完整的存儲過程語句由于分號而提前執(zhí)行,需要臨時規(guī)定以//或者$$來作為結(jié)束符號。這樣的話,創(chuàng)建存儲過程時,中間的分號會被忽略,直到遇到//符號才執(zhí)行語句。
3.執(zhí)行存儲過程
DELIMITER ;
CALL test_insert();
4.刪掉存儲過程.
DROP PROCEDURE test_insert ;
補充:執(zhí)行存儲過程可能報錯如:
mysql>CALL test_insert();
ERROR 1436 (HY000): Thread stack overrun: 10880 bytes used of a 131072 byte stack, and 128000 bytes needed. Use 'mysqld --thread_stack=#' to specify a bigger stack.
處理方法:
修改配置文件:將thread_stack = 128K這行注釋掉,或者修改個大一點的數(shù)值,然后重啟mysql。
1.修改:my.cnf
thread_stack = 500K
2.service mysqld restart
[root@db11g etc]# service mysqld restart
Shutting down MySQL..[ OK ]
Starting MySQL..[ OK ]
上述內(nèi)容就是Mysql中怎么實現(xiàn)批量插入,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業(yè)資訊頻道。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。