mysql 存储过程怎么处理序列化的字段?有对应的函数吗? 项目的某些数据保存的时候用了序列化,然后后台需要用存储过程处理一些定时作业。对于在PHP序列化保存的字段,mysql 有对应的函数反序列化,然后提取数据使用吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 没有直接的,这个“序列化”完全是程序上的概念。不过你可以在MYSQL中通过字符串等函数和实现类似的功能。 a:4:{i:0;a:2:{i:0;a:2:{s:8:"point_id";s:2:"19";s:6:"map_id";s:2:"11";}i:1;a:2:{s:8:"point_id";s:0:"";s:6:"map_id";s:0:"";}}i:1;a:2:{i:0;a:2:{s:8:"point_id";s:2:"20";s:6:"map_id";s:2:"12";}i:1;a:2:{s:8:"point_id";s:0:"";s:6:"map_id";s:0:"";}}i:2;a:2:{i:0;a:2:{s:8:"point_id";s:2:"21";s:6:"map_id";s:2:"13";}i:1;a:2:{s:8:"point_id";s:0:"";s:6:"map_id";s:0:"";}}i:3;a:2:{i:0;a:2:{s:8:"point_id";s:2:"22";s:6:"map_id";s:2:"14";}i:1;a:2:{s:8:"point_id";s:0:"";s:6:"map_id";s:0:"";}}} 这么一段数据在mysql用什么函数能处理出来?还真费神?不会用正则吧 在mysql 存储过程里方便使用,提取数据,在php里反序列化后是个多维数组 [0]['point_id'],[0]['map_id'],[1]['point_id'],[1]['map_id']... 简单说呢,我就是要一个能在mysql存储过程里处理 使用“序列化”保存的字段的一个方法,能够在存储过程实现反序列化,能够方便的提取数组里每项的值进行判断或者其他处理。比如处理成一个多维数组(前提是mysql sp能像php那样方便的使用数组),可以循环的检查每项跟我要搜索的关键字是否匹配,匹配情况下作相应操作。具体说呢,这个表是一个地图表(表名:maps),然后序列化保存数据的那个字段(字段名:map_exit)呢,保存的是这个地图四周相邻的地图Id(map_id),以及通往该地图的入口Id(point_id),对应东南西北这个顺序,在数组里以0,1,2,3这个顺序保存.然后我在存储过程里要完成的逻辑 就是循环搜索地图表的记录,查找相邻地图符合指定参数地图Id的记录。因为该项数据是序列化后保存,具体格式就如上面列出,我现在不知道在mysql 存储过程用什么方法处理出来,然后能方便的进行匹配。Maps表字段结构: id,map_name,map_x,map_y,map_exit,point_count 看不懂你的描述。 (不要高估你的汉语表达能力或者我的汉语理解能力) 建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。 参考一下这个贴子的提问方式http://topic.csdn.net/u/20091130/20/8343ee6a-417c-4c2d-9415-fa46604a00cf.html 1. 你的 create table xxx .. 语句 2. 你的 insert into xxx ... 语句 3. 结果是什么样,(并给以简单的算法描述) 4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL) 这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。 重复记录问题 关于mysql数据库的问题 跪求一条SQL!!!!!! 动态数据转移 导出导入数据的时候要怎么控制编码? 请问这种写入mysql数据库是采用什么技术? 从备份恢复数据库,但有某些表恢复后不存在 在win2003下怎样修改mysql的连接数?默认是100;同时mysql在win2003下的日志文件在那里? help!help!如何远程登录到服务器建立一个mysql数据库 sysbench压测mycat报错 MySql如何自动序号? 问一个mysql存储过程的问题,高手很简单
这么一段数据在mysql用什么函数能处理出来?还真费神?不会用正则吧
建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
参考一下这个贴子的提问方式http://topic.csdn.net/u/20091130/20/8343ee6a-417c-4c2d-9415-fa46604a00cf.html
1. 你的 create table xxx .. 语句
2. 你的 insert into xxx ... 语句
3. 结果是什么样,(并给以简单的算法描述)
4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。