PDO处理大批量数据的入库
<?php
//最东端 东经135度2分30秒
//最西端 东经73度40分
//最南端 北纬3度52分
//最北端 北纬53度33分
//转换为度的单位
$dbName = 'txhl';//数据库名称
$tableName = 'ah';//数据表名称
$username = 'root';//用户名
$password = 'root';//密码
$num = 100000;//规定入库数据条数
try
{
$conn = new PDO('mysql:host=<你要用到的数据库IP地址>;dbname='.$dbName,$username,$password,array(PDO::ATTR_PERSISTENT,true));
$result = $conn->exec("truncate {$tableName}");
if($result == false && $conn->errorInfo()[0] != 00000)
{
throw new PDOException("Error :".$conn->errorInfo()[2]);
}
set_time_limit(200);
for($i=0;$i<$num;$i++){
$east = 135+20.30/60;
$west = 73+40/60;
$south = 3+53/60;
$north = 53+33/60;
$du = rand(36,38);//经度 75 135 (10份 6度/)lng
$wei = rand(117,122);//纬度 18 51 (10份 3度/)lat
$fen = rand(100000,999999);
$fen1 = rand(100000,999999);
$latlng = $du.'.'.$fen;
$lnglat = $wei.'.'.$fen1;
$conn->exec("insert into $tablename(lat,lng) values($latlng,$lnglat)");
echo time()."插入成功,自增id为".$conn->lastInsertId().PHP_EOL;
}
ignore_user_abort(); //终止脚本的执行
}catch(PDOException $e)//否则抛出异常
{
echo $e->getMessage().PHP_EOL; exit;
}catch(Exception $e)//否则抛出异常
{
echo $e->getMessage().PHP_EOL; exit;
}
?>
最新文章
- 我的Time
- 【Unity】常用代码
- C++注册表操作
- Instruments指南:如何调试内存泄露
- 51nod1354 选数字
- 为您的Android,iOS等应用加入声波传输功能
- innobackupex自动备份脚本(增量备份,自动压缩)
- LightOJ 1317 第六周比赛A题
- C# 封装 System.Data.SQLite
- 如果DataGrid的checkbox出现点一个另外自动点另一个现象
- 组件接口(API)设计指南-文件夹
- [bzoj2286][Sdoi 2011]消耗战
- linux iptables配置
- 结合实例分析Android MVP的实现
- linux下的Shell编程(6)case和select
- SSM-Spring-19:Spring中JdbcTemplate
- git删除远程分支,删除本地分支
- 文件扩展关联命令(assoc)
- node 学习系列-hello world
- 使用Java注解自动化处理对应关系实现注释代码化