MySQL - 我可以在一个 INSERT 语句中插入多少行?

2021-11-20 00:00:00 mysql multiple-insert

它是否取决于值集的数量?是否取决于 INSERT 语句中的字节数?

Does it depend on the number of values sets? Does it depend on the number of bytes in the INSERT statement?

推荐答案

您可以使用 INSERT ... SELECT 模式插入无限多的记录,前提是您拥有这些记录或其中的一部分,在其他表中.

You can insert infinitely large number of records using INSERT ... SELECT pattern, provided you have those records, or part of, in other tables.

但是,如果您使用 INSERT ... VALUES 模式对值进行硬编码,则语句的大小/长度会有限制:max_allowed_pa​​cket 限制了客户端向数据库服务器发送的 SQL 语句的长度,以及它影响任何类型的查询,而不仅仅是 INSERT 语句.

But if you are hard-coding the values using INSERT ... VALUES pattern, then there is a limit on how large/long your statement is: max_allowed_packet which limits the length of SQL statements sent by the client to the database server, and it affects any types of queries and not only for INSERT statement.

相关文章