2

有谁知道您可以插入表(mysql)中的最大列数/值是多少?我收到一个错误... IDK... 20 列/值?(是的,#_of_col = #no_of_val)

INSERT INTO comenzi (a,b,c,d,e,f,...) 
VALUES (1,2,3,4,5,6,...)
4

2 回答 2

9

硬限制是每个表 4096 列,最大行大小为 65,535 字节(来源:MySQL 文档)。

于 2010-08-08T22:31:51.700 回答
3

你可以在一个表中有超过 20 列,所以我认为这不是你的问题。

很可能您的值列表中有错误的列数,或者您的列名之一是关键字。

您说您已经检查了值的数量是否正确。根据我的经验,用手数 20 件东西是非常困难的,因此您可能需要仔细检查您的数是否正确。

但是假设这不是问题,那么我猜这可能是因为您的列名之一是保留关键字。用反引号将列名括起来可以防止它们被错误地解析:

INSERT INTO comenzi (`a`, `b`, `c`, `d`, `e`, `f`, ...) 
VALUES (1, 2, 3, 4, 5, 6, ...)

您还应该确保,如果您的值列表中有任何字符串,它们被引用并在必要时正确转义。

于 2010-08-08T22:32:23.587 回答