【问题标题】:Not able to get full data from a column in mysql database using laravel 4无法使用 laravel 4 从 mysql 数据库中的列中获取完整数据
【发布时间】:2015-07-31 05:26:48
【问题描述】:

我遇到了一个奇怪的问题,我有一个表,其中将 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));

当我看到$resultdd() 时,数据甚至不到结果的一半。 例如。我在CSV 文件中有近 37K 行,这些行被导入到此列中,但是当我运行上述 SQL 时,它仅以 CSV 格式返回只有 3.2K 行的数据。

It does not seems to be a SQL DB problem when I run the same with Basic PHP mysql_connect & mysql_query the result set returns whole data set but when I do the same with laravel then this issue comes back

关于为什么以及如何解决这个问题的想法?

【问题讨论】:

  • SELECT file_content FROM file_data WHERE trim(file_id) = {$file_id} 得到什么
  • @AbhikChakraborty 我收到了file_content 数据,但该数据不完整。休息条件很好,我没有任何问题。
  • 如果你重复它,你的 sql 的返回是否总是完全一样?如果不是,则可能存在任何类型的超时问题。
  • @Peh result 总是一样的。也没有超时问题。

标签: php mysql laravel laravel-4


【解决方案1】:

你应该更改mysql中的设置:max_allowed_packet

【讨论】:

  • max_allowed_packet 设置为64M。那么我应该增加它吗?
猜你喜欢
  • 2018-11-24
  • 2020-12-28
  • 2021-07-02
  • 2020-11-16
  • 1970-01-01
  • 2019-06-16
  • 1970-01-01
  • 1970-01-01
  • 2021-02-26
相关资源
最近更新 更多