php向mysql中批量添加数据

94 °C
2019年5月25日23:13:49 发表评论

php向mysql中批量添加数据

 

1.1使用事务进行插入

首先建立一个连接$conn

开始一个事务mysqli_begin_transaction($conn)

判断插入时间是否会执行成功,如果成功那就开始执行事务,mysqli_commit($conn)

关闭连接mysqli_close($conn)

1.2开始进行批量的插入基因序列和名称操作

这里序列的格式设置为BloB格式,最大允许存储65kb的字符,感觉应该足够存储基因序列了

调整php.ini中memory_limit参数,在读取文件的时候内存会不够

调整之后重启httpd服务

1.3读取fasta文件的php脚本

1.4遍历关联数组进行插入

这里主要要考虑的是sql语句中怎么使用到php变量,因为我列的属性是字符串所以需要加上引号

,使用转义符进行转义,同样要使用php的变量,需要使用最外层的双引号引用变量内的内容;单引号则是引用字符串

最后这种特别多的数据的数据库插入,后面考虑加上一个身份验证才能执行这个操作,还有错误提示也要完善一下,不然排错不太方便

主要有两个错误点

sql语句,和数据重复插入

die函数应该放在mysqli_query()函数后,方便mysql错误代码的捕获,因为mysqli_errno($conn)会捕获最后一次mysql执行的返回码

在mysql设置的储存文夹夹下可以看到对应的数据、

-rw-r----- 1 mysql mysql 8.5K May 26 06:09 gene.frm

-rw-r----- 1 mysql mysql 1.2G May 26 06:22 gene.ibd

至于为啥是.ibd结尾的是跟mysql的储存引擎有关

我使用的是事务插入,所以使用InnoDB储存引擎进行插入

其他方法后面再更新。。。。。。。。。

参考

使用php读取fasta序列

PHP中使用事务进行mysql插入

php内存不足

sql语句中使用php变量

 

zpliu

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: