问题场景:一个程序内有2个以上守护线程,当某条件触发时,调用mysql_query向mysql数据库内插入一个记录,经过试验,发现两个线程同时触发条件向mysql内插入记录时,报错如下:怀疑是因为两个线程同时向数据库内插入记录造成的冲突。问题:1. Windows环境下,mysql_query是线程安全的么? 我使用mysql server 5.5.16,程序启动是就初始化一个数据库连接,调用mysql_real_connect,以后保持长连接不断开,需要插入记录时调用mysql_query2. 如果不是线程安全的,有什么可靠的解决方案?3. 搜索了一下那个错误信息,有几个建议是关于mysql服务器配置的,如修改bind-ipaddress,修改skip-name-resolve等,我是在window下安装的mysql,配置文件里貌似就没有这些选项求指点
解决方案 »
- 哪位高手帮我看看这个问题!
- mysql 各位都是用什么开发工具,用他来写view 之类的太麻烦了 ,手工写代码效果太低了,
- linux下mysql如何查看back_log大小
- 数据库在打开二进制日志的情况下,掉电重启之后在恢复数据库时出了问题,然后就起不起来了,各位帮忙看一下啊~~
- 如何快速求两端时间是否有交集
- mysql自动停止
- mysql administratator 在 Query Browser里使用中文查询 显示重叠
- postgresql中游标不能这么用??
- Warning Code : 1265 Data truncated for column 'm_condition' at row 1
- 三个字段组的组合查询
- mysql与c++连接编译过 无法生成
- 求一sql语句,可能很难
可以为每个线程创建单独的mysql连接,如楼上所说,创建独立的mysql* 句柄。
这样不至于互相干扰。