1
<code>表格結構如下</code>
需求name和password字段,生成如下格式:
<a href="https://s4.51cto.com/wyfs02/M01/9E/53/wKiom1mOl_2xEMqsAAA5NX-pdNU972.png" target="_blank"></a>
總共批量生成500個。
解決思路:
可以用mysql 存儲過程
如果linux環境下可以用shell
我們先測試第一種,用存儲過程。
2
3
4
5
6
7
8
9
10
11
<code>DELIMITER ;; </code><code>##定義;;為結束符</code>
<code>CREATE PROCEDURE test_insert() </code><code>##建立存儲過程 test_insert()是名字</code>
<code>BEGIN </code>
<code>DECLARE y int DEFAULT 1 ; </code><code>##定義y 為整數 預設起始值為1</code>
<code>WHILE y<500</code>
<code>DO</code>
<code>insert into test1(name,password,reallyName,age,profession,email,question,result) values(concat(</code><code>'test'</code><code>,y),concat(</code><code>'test'</code><code>,y),</code><code>'jiang'</code><code>,30,</code><code>'hello'</code><code>,</code><code>'hello'</code><code>,</code><code>'hello'</code><code>,</code><code>'hello'</code><code>); </code>
<code>SET y=y+1; </code><code>##y數值加1</code>
<code>END WHILE ; </code>
<code>commit; </code>
<code>END;;</code>
定義完成存儲過程test_insert()
執行指令 call test_insert() 自動生成500條資料
期間遇到的問題:
開始的時候,
<code>DECLARE y int DEFAULT 1 </code>
<code>考完不周全,這條指令我寫成了:</code>
<code>DECLARE y TINYINT DEFAULT 1 </code>
<code>存儲過程建立後,執行死循環,而且插入的y最大值為127,</code>
<code>後面檢查原因,發現 tinyint 最大值為127</code>
<code>改成int後,執行成功。</code>
本文轉自 am2012 51CTO部落格,原文連結:http://blog.51cto.com/goome/1955738