【发布时间】:2010-08-08 22:27:19
【问题描述】:
有谁知道你可以插入一个表(mysql)的最大列数/值是多少?我收到一个错误... IDK... 20 列/值? (是的,#_of_col = #no_of_val)
INSERT INTO comenzi (a,b,c,d,e,f,...)
VALUES (1,2,3,4,5,6,...)
【问题讨论】:
标签: mysql insert-into
有谁知道你可以插入一个表(mysql)的最大列数/值是多少?我收到一个错误... IDK... 20 列/值? (是的,#_of_col = #no_of_val)
INSERT INTO comenzi (a,b,c,d,e,f,...)
VALUES (1,2,3,4,5,6,...)
【问题讨论】:
标签: mysql insert-into
硬限制是每个表 4096 列,最大行大小为 65,535 字节(来源:MySQL Documentation)。
【讨论】:
一个表中可以有超过 20 列,所以我认为这不是你的问题。
您的值列表中的列数很可能有误,或者您的列名之一是关键字。
您说您已经检查了值的数量是否正确。根据我的经验,用手数 20 件东西是非常困难的,因此您可能需要仔细检查您的数是否正确。
但假设这不是问题,那么我猜这可能是因为您的列名之一是保留关键字。用反引号将列名括起来可以防止它们被错误地解析:
INSERT INTO comenzi (`a`, `b`, `c`, `d`, `e`, `f`, ...)
VALUES (1, 2, 3, 4, 5, 6, ...)
如果你的值列表中有任何字符串,你还应该确保它们被引用并在必要时正确转义。
【讨论】: