【发布时间】:2013-08-16 07:50:38
【问题描述】:
我正在使用 MySQL OUTFILE 导出我的数据库的 CSV。我在那里有一个序列化字段,我想知道是否有办法让我使用 MySQL 查询在 CSV 中取消序列化它。我被难住了!
任何帮助将不胜感激。
【问题讨论】:
我正在使用 MySQL OUTFILE 导出我的数据库的 CSV。我在那里有一个序列化字段,我想知道是否有办法让我使用 MySQL 查询在 CSV 中取消序列化它。我被难住了!
任何帮助将不胜感激。
【问题讨论】:
我假设您的意思是您使用 PHP 对其进行了序列化。 MySQL不理解PHP序列化,AFAIK,所以它不能。另外,我假设的序列化数据是数组还是对象?这很可能会破坏 CSV 文件。
您最好自己从查询中提取数据,对其进行处理,然后使用 PHP 的内置 CSV 处理程序函数以您想要的方式生成 CSV。
【讨论】:
你不能用mysql做到这一点
MySQL 不知道 PHP 序列化是什么。你做不到。
你应该对你的 csv 文件进行 php 序列化
【讨论】:
你基本上有两个选择:
虽然理论上可以创建一个能够反序列化 PHP 数据的 MySQL 存储过程,或者自定义服务器扩展,但这比仅使用 PHP 困难得多去做吧。
编写一个小的 PHP 程序来修改 CSV 文件并不难。这是一个向您展示几个示例的答案:parse csv file using php line by line
至于编写代码直接访问数据库,在PHP手册中。您可以在此处查看如何直接读取数据库的示例:http://www.php.net/manual/en/mysqli.quickstart.dual-interface.php
【讨论】: