MySQL 准备语句 - 最大长度 1000 个字符

标签 mysql prepared-statement

我有一个超过 1000 个字符的 SQL 语句,我正在通过 prepare 方法使用它 - 是否可以稍微扩展这个值?

一旦我使用 prepare 命令,它会将 SQL 截断为 1000 个字符,类似地,如果我只选择保存 sql 字符串的变量,这也会在输出中被截断。

除了核心 SQL 之外,还可以添加任意数量的附加查询。

我想我可以创建一个 View ,然后从该 View 中进行选择,但是 MySQL 中的 View 有点迟钝。

我知道我可以将其精简并替换为 select tv.* 等,我在试验中已经这样做了,但是额外的查询会显着增加长度,而且实际上选择的项目是我最不担心的。

有没有办法延长 1000 的限制。

最佳答案

MySQL 服务器默认接受 16MB 的字符串,可以使用 max_allowed_pa​​cket 扩展该限制。

我不确定你使用的是什么语言,但它可能是失败的语言/框架的数据库适配器,尤其是。由于服务器没有截断,它只是提示 ER_NET_PACKET_TOO_LARGE。

关于MySQL 准备语句 - 最大长度 1000 个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20456158/

相关文章:

MySQL Workbench/正向工程进度 - 错误

php - 字段列表中的列 'id' 在 PHP 中不明确

mysql - 多品类、多子功能产品的数据库设计

php - mysqli_fetch_assoc()期望参数/调用成员函数bind_param()错误。如何获取并修复实际的mysql错误?

带有准备好的语句的 SQL 注入(inject)?

MySQL 错误 1054 : Setting column name and use to where clause

php - 使用 PHP 和 MySQL 登录 Android

php - 在人们将访问的页面上运行此查询是否安全?

java - JDBC mysql不支持PreparedStatement中的LIMIT占位符?

php - 是否可以将 PDO 参数绑定(bind)到对象的成员变量?