您好,登錄后才能下訂單哦!
本篇文章為大家展示了Mysql中怎么實現批量插入,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
1.創建測試表:
create table t_emp (id int(8),SNO int(8));
2.創建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語句的結束來進行執行,當我們在創建存儲過程時,為了不讓完整的存儲過程語句由于分號而提前執行,需要臨時規定以//或者$$來作為結束符號。這樣的話,創建存儲過程時,中間的分號會被忽略,直到遇到//符號才執行語句。
3.執行存儲過程
DELIMITER ;
CALL test_insert();
4.刪掉存儲過程.
DROP PROCEDURE test_insert ;
補充:執行存儲過程可能報錯如:
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這行注釋掉,或者修改個大一點的數值,然后重啟mysql。
1.修改:my.cnf
thread_stack = 500K
2.service mysqld restart
[root@db11g etc]# service mysqld restart
Shutting down MySQL..[ OK ]
Starting MySQL..[ OK ]
上述內容就是Mysql中怎么實現批量插入,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。