当尝试将数据从 MySQL 中的一个表插入另一个表时,您可能会遇到以下问题:遇到错误“#1136 - 列计数与第 1 行的值计数不匹配。”当 INSERT 语句中指定的列数与检索到的数据中的列数不匹配时,就会发生这种情况。
在提供的查询中,发生错误的原因是INSERT 语句尝试将子查询的结果插入到多个列中。但是,子查询仅检索三列(magazine_subscription_id、subscription_name、magazine_id),而 INSERT 语句指定了四列(magazine_subscription_id、subscription_name、magazine_id、status)。
要解决此错误,您可以修改 INSERT 语句直接包含状态列的缺失值,如下面修改后的查询所示:
INSERT INTO mt_magazine_subscription ( magazine_subscription_id, subscription_name, magazine_id, status ) SELECT magazine_subscription_id, subscription_name, magazine_id, '1' FROM tbl_magazine_subscription ORDER BY magazine_subscription_id ASC;
在此修改后的查询中,直接将“1”文字指定为状态列的值,确保列数与值数匹配。
以上是以下是一些标题选项,以问题格式捕获查询和解决方案: * MySQL INSERT 错误:'列计数与值计数不匹配” - 如何修复? * \'列数做的详细内容。更多信息请关注PHP中文网其他相关文章!