我遇到了一个奇怪的问题,我有一个表,其中存储 csv 格式的数据作为 file_content。我正在尝试使用 SQL 获取我的 Laravel 应用程序中的文件内容,但该数据在某个时刻中断了。它仅返回部分数据。数据大小约为9M。
表架构:
Field Type Collation Null Key Default
------------ ---------- --------------- ------ ------ --------
id bigint(15) (NULL) NO PRI (NULL)
file_id bigint(15) (NULL) YES MUL (NULL)
file_content longtext utf8_general_ci YES (NULL)
dataTime timestamp (NULL) NO
SQL:
$sql = "SELECT file_content FROM file_data WHERE file_id = {$file_id} ;";
$result = DB::connection('staging_db')->select(DB::raw($sql));
当我看到 $result
的 dd()
时,数据甚至不到结果的一半。
例如。我在导入到此列的 CSV
文件中有将近 37K 行,但是当我运行上面的 SQL 时,它返回的数据只有 3.2K 行,只有 CSV
格式.
当我使用 Basic PHP mysql_connect 和 mysql_query 运行相同的结果集时,它似乎不是 SQL DB 问题,结果集返回整个数据集,但是当我对 laravel 执行相同的操作时,这个问题又回来了
关于为什么以及如何解决这个问题的想法?
最佳答案
您应该更改 mysql 中的设置:max_allowed_packet
关于php - 无法使用 laravel 4 从 mysql 数据库中的列获取完整数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30324706/