mysql - 在单个 MySQL 查询中更新多个列是否有限制?

标签 mysql perl

我正在使用 Perl 和 DBI 包来执行 MySQL 连接和命令。我发现了关于一个查询对列进行多次更新的强大功能的线程。

有限制吗?我能否构建单个查询来使用唯一数据更新 50,000 行?

最佳答案

有一个限制:您不能执行大于 max_allowed_packet 的查询字节,否则你会得到一个 packet too large错误。在 MySQL 5.5 中,服务器的默认值为 1MB,客户端库的默认值为 1GB(但 mysql 命令行实用程序仅为 16MB)。

你应该看看LOAD DATA INFILE作为一个可能的选择;对于 50,000 行,它可能比复合插入更快,而且您不必担心超过 max_allowed_pa​​cket

关于mysql - 在单个 MySQL 查询中更新多个列是否有限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22072498/

相关文章:

php - 如果不存在则创建表 - 意外的 T_STRING

php - 我的请求需要很长时间才能使用 PHP 和 MySQL 显示信息

windows - 使用Perl获取硬盘信息

perl - 从 activeperl 迁移到草莓 perl

perl - 如何读取变量/值,该变量/值是在常量列表中的运行时参数?

php - PHP 中带有 if 条件的双 foreach

mysql - 我可以将 mysql 与 .net 应用程序一起使用吗...或者它只能与 php 一起使用

python - 我收到了 “nonetype”错误,但我不知道为什么

perl - 如何循环遍历 Perl 中类的所有方法?

linux - 在 Linux/Perl 上获取权限位字符串?