如何解决在 MySQL 中插入数据时出现'列计数与值计数不匹配”错误?

DDD
发布: 2024-10-26 18:24:29
原创
389 人浏览过

How to Resolve

在 MySQL 中将数据从一个表插入到另一个表

尝试使用以下查询将数据从一个表插入另一个表时:

INSERT INTO mt_magazine_subscription ( 
      magazine_subscription_id, 
      subscription_name, 
      magazine_id, 
      status ) 
  VALUES ( 
      (SELECT magazine_subscription_id, 
              subscription_name, 
              magazine_id 
       FROM tbl_magazine_subscription 
       ORDER BY magazine_subscription_id ASC), '1')
登录后复制

您可能会遇到错误消息:

#1136 - Column count doesn't match value count at row 1
登录后复制

这是因为 INSERT 语句中指定的列数与子查询中提供的值的数量不匹配。

解决方案

要解决此问题,请使用 INSERT...SELECT 语法,如下所示:

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 ' 状态列的值直接在 SELECT 部分中引用。通过使用 INSERT...SELECT 语法,您可以指定要插入的列,并从另一个表或子查询中选择要插入的值,确保列数和值匹配。

以上是如何解决在 MySQL 中插入数据时出现'列计数与值计数不匹配”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!