使用insert into 插入,代碼如下:
創(chuàng)新互聯(lián)公司是專業(yè)的阜新網(wǎng)站建設(shè)公司,阜新接單;提供網(wǎng)站制作、成都做網(wǎng)站,網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行阜新網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!
$params = array(‘value'='50′);
set_time_limit(0);
echo date(“H:i:s”);
for($i=0;$i2000000;$i++){
$connect_mysql-insert($p
最后顯示為:23:25:05 01:32:05 也就是花了2個(gè)小時(shí)多如果想要了解更多的話,具體可以去后盾人學(xué)習(xí)下,,這樣更加有幫助
$data?=?new?Spreadsheet_Excel_Reader();//實(shí)例化????
02????????????????$data-setOutputEncoding('utf-8');//設(shè)置讀取編碼????
03????????????????$data-read($p);//$p就是excel文件路徑????
04?????????????????????
05????????????????for?($i?=?2;?$i?=?$data-sheets[0]['numRows'];?$i++)?{????
06????????????????????//傳如數(shù)組,將一行信息寫入數(shù)據(jù)庫;????
07????????????????????$arr?=?$data-sheets[0]['cells'][$i];????
08????????????????????if($arr){????
09????????????????????????$r?=?addUserLine($arr,$posts['bid']);????
10????????????????????????if($r){????
11????????????????????????echo?"樓棟:".$r['bldgname']."?房間:".$r['roomname']."?學(xué)員:".$r['name']."?學(xué)號(hào):".$r['sid']."?導(dǎo)入成功br?/hr?/";????
12????????????????????????}else{????
13????????????????????????????echo?"br?/hr?/";????
14????????????????????????}????
15????????????????????}????
16????????????????}
if?($strleng100){
//如果大于100條就每次寫入100,休息1秒,然后繼續(xù)寫,直到寫完為止
$write_count?=?floor($strleng/100);
while?($write_count??0){
for?($i=0;$i100;$i++){
echo?"INSERT?INTO?tbl_name?(a,b,c)?VALUES(1,2,3)";//寫100次就休息
}
//echo?"INSERT?INTO?tbl_name?(a,b,c)?VALUES(1,2,3),(4,5,6),(7,8,9);";這樣可以一次插入多條數(shù)據(jù),效率更高
//參考
$write_count?-=1?;
sleep(1);
echo?'休息1秒';
}
}
很簡單的
select * from A1
..............
$Aname=$sql-query("name");
$Aage=$sql-query("age");
$Atel=$sql-query("tel");
$Adatetime=$sql-query("datetime");
$Asex=$sql-query("sex");
//取出A1表的結(jié)果 變量
然后 拼接sex age
$sexage=$Asex.$Aage;
.........
下一步 插入到 B1表
insert into B1 value('{$Aname}','{$Atel}','{$Adatetime}','{$sexage}')
具體的格式 你完善下就好了 很簡單的
項(xiàng)目需要批量導(dǎo)入excel文件,如果里面有重復(fù)的數(shù)據(jù)要怎么處理呢?每插入一次數(shù)據(jù)都要到數(shù)據(jù)庫查詢么?
回復(fù)內(nèi)容:
項(xiàng)目需要批量導(dǎo)入excel文件,如果里面有重復(fù)的數(shù)據(jù)要怎么處理呢?每插入一次數(shù)據(jù)都要到數(shù)據(jù)庫查詢么?
1、如果里面有重復(fù)的數(shù)據(jù)要怎么處理呢?
1
code可以先判斷數(shù)據(jù)庫是否有該數(shù)據(jù)。/code
2、每插入一次數(shù)據(jù)都要到數(shù)據(jù)庫查詢么
1
code是的。/code
先去重得到?jīng)]有重復(fù)的數(shù)據(jù),再批量插入數(shù)據(jù)庫。也可以嘗試MYSQL中的insert ignore into或 replace into
如果查詢比較慢,對(duì)不能重復(fù)的字段加唯一鍵,然后用INSERT IGNORE INTO
php批量導(dǎo)入數(shù)據(jù)出錯(cuò)
我現(xiàn)在要做的是,把一個(gè)產(chǎn)品數(shù)據(jù)從EXCEL中導(dǎo)入到PHP的MYSQL中,導(dǎo)入的過程中,總是會(huì)提示“Allowed memory size of 167772160 bytes exhausted (tried to allocate 689919 bytes) in D:\wamp\www\Company\product\admin\uploadOrder.php on line 167”這個(gè)錯(cuò)誤,然后我分成第100條導(dǎo)入時(shí),就不會(huì)提示這個(gè)錯(cuò)誤,這個(gè)是不是內(nèi)存溢出,有沒有好的解決方法呢?
------解決方案--------------------
php.ini中講memory_limit選項(xiàng)設(shè)置大一點(diǎn),然后重啟apache或nginx就行了
------解決方案--------------------
文件太大了,這樣的話可以用source命令直接導(dǎo)入!
------解決方案--------------------