【问题标题】:PHP and MYSQL maximum variable length?PHP和MYSQL最大可变长度?
【发布时间】:2010-10-10 17:03:52
【问题描述】:

我正在尝试对 mysql 数据库进行 INSERT,但当任何值超过 898 个字符时它会失败。有什么地方可以获取或者更好地设置这个最大值吗?如果必须的话,我会将字符串分成块并将它们存储在单独的行中,但我希望一次最多可以插入 2k 个。

我猜这是 php 问题,因为使用 LONGTEXT 或 BLOB 字段在数据库中应该有足够的空间。

谢谢。

【问题讨论】:

  • 您是否收到来自 DB 或 PHP 的错误?
  • 你可以做 echo(mysql_error());在查询后的行上查看错误。
  • 当您说“失败”时会发生什么?它是截断字段还是插入失败,如果失败,相关的错误消息是什么?
  • 如果有任何错误消息,您会收到什么错误消息?你的代码是什么,我们可以看看?你用的是mysqli还是mysql?

标签: php mysql database string insert


【解决方案1】:

我假设这是您要插入的 varchar 列?如果是这样,我假设最大长度已设置为 898 或 900 或类似的值。

在 MySQL 5 中,总行大小可达 65,536 字节,因此可以将 varchar 定义为保持总行大小低于该值的任何大小。

如果您需要更大的使用文本 (65,536) 或长文本 (40 亿?)。

【讨论】:

  • 我在我的问题中说过我正在使用 LONGTEXT 和 BLOB 字段。
【解决方案2】:

旁注:

当您开始使用大型 blob 和文本列时,您需要注意 MySQL max_allowed_packet 变量。我相信它默认至少为 1M。

【讨论】:

    猜你喜欢
    • 2011-02-03
    • 2020-06-06
    • 2015-12-18
    • 1970-01-01
    • 2014-01-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多