锁定老帖子 主题:erlang连接到mysql数据库
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-02-18
最后修改:2011-02-18
erlang连接到mysql数据库
一,驱动的下载与安装
1. 下载erlang-mysql-driver 下载地址如下: svn checkout http://erlang-mysql-driver.googlecode.com/svn/trunk/ mysql (如果你没有安装SVN,附件中提供源码下载) 2. 对src下面的所有源码进行编译 erlc *.erl
3. 然后在mysql 下面创建ebin,并将src 下面的所有*.beam拷贝到ebin 下面 4. 将mysql整个文件夹拷贝到erlang/lib下面
二, 操作数据库 1 连接mysql: mysql:start_link(PoolId, "localhost", "root", "password", "databasename").
2 mysql:connect(PoolId, Host, ?PORT, User, Password, Database, undefined, Reconnect).%%建立一个连接
3 数据操作 添加: mysql:fetch(PoolId,<<”insert into….”>>). 查询: mysql:fetch(p1,<<"select * from user">>).
4 接收到数据后怎么处理 fetch(PoolId, "select * from user") -> Result %%% Result = {data, MySQLRes} | {updated, MySQLRes} | %%% {error, MySQLRes}
n 查询:{data, MySQLRes} = fetch(PoolId, <<"select * from user">>). Ø 获取字段名称信息: FieldInfo = mysql:get_result_field_info(MysqlRes). Ø 获取字段值: AllRows = mysql:get_result_rows(MysqlRes)
n 更新: {updated,UD} = mysql: fetch(PoolId, <<"update * from user">>). AffectedRow = mysql:get_result_affected_rows(UD).%%获得影响的记录数
n 出错 {error,Err} = fetch(PoolId, <<"update * from user">>). Reason = mysql:get_result_reason(MysqlRes).%%出错原因 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2011-05-22
dxm1986 写道 erlang连接到mysql数据库
一,驱动的下载与安装
1. 下载erlang-mysql-driver 下载地址如下: svn checkout http://erlang-mysql-driver.googlecode.com/svn/trunk/ mysql (如果你没有安装SVN,附件中提供源码下载) 2. 对src下面的所有源码进行编译 erlc *.erl
3. 然后在mysql 下面创建ebin,并将src 下面的所有*.beam拷贝到ebin 下面 4. 将mysql整个文件夹拷贝到erlang/lib下面
二, 操作数据库 1 连接mysql: mysql:start_link(PoolId, "localhost", "root", "password", "databasename").
2 mysql:connect(PoolId, Host, ?PORT, User, Password, Database, undefined, Reconnect).%%建立一个连接
3 数据操作 添加: mysql:fetch(PoolId,<<”insert into….”>>). 查询: mysql:fetch(p1,<<"select * from user">>).
4 接收到数据后怎么处理 fetch(PoolId, "select * from user") -> Result %%% Result = {data, MySQLRes} | {updated, MySQLRes} | %%% {error, MySQLRes}
n 查询:{data, MySQLRes} = fetch(PoolId, <<"select * from user">>). Ø 获取字段名称信息: FieldInfo = mysql:get_result_field_info(MysqlRes). Ø 获取字段值: AllRows = mysql:get_result_rows(MysqlRes)
n 更新: {updated,UD} = mysql: fetch(PoolId, <<"update * from user">>). AffectedRow = mysql:get_result_affected_rows(UD).%%获得影响的记录数
n 出错 {error,Err} = fetch(PoolId, <<"update * from user">>). Reason = mysql:get_result_reason(MysqlRes).%%出错原因 注意mysql:start_link的第八个参数encoding,设置为utf8,以支持中文 |
|
返回顶楼 | |
浏览 9235 次