当前位置: 首页 > news >正文

【MySQL报错】:Column count doesn’t match value count at row 1

MySQL报错:Column count doesn’t match value count at row 1
意思是存储的数据与数据库表的字段类型定义不相匹配.

由于类似 insert 语句中,前后列数不等造成的
主要有3个易错点:

  1. 要传入表中的字段数和values后面的值的个数不相等。
    由于类似 insert 语句中,前后列数不等造成的
    如1:省略数据库表的列名
    INSERT INTO table_name
    VALUES (value1, value2, value3,…)
    改为:补全列名
    INSERT INTO table_name (column1, column2, column3,…)
    VALUES (value1, value2, value3,…)
    如2:列数不相等,则检查相匹配的列数
    INSERT INTO table_name(col_name1, col_name2, col_name3) VALUES(‘value1’,‘value2’);

  2. values的值类型与表中定义的字段类型不相符
    解决办法:检查段类型是否正确, 是否越界, 有无把一种类型的数据存储到另一种数据类型中.
    看看访问数据库的sql语句是否书写错误,赋值的参数是否与字段类型一致
    比如有以下代码:
    eg:一个表中有如下6个字段:
    在这里插入图片描述
    sql = "insert into user(id_card, passwd) values({}, '{}';".format(127, '111')
    表中定义的id_card是字符串类型,但是这里传入的是整型。不相符。

另外,多说一句:这里的values值的类型与传入的参数类型无关。
比如:values({})这是一个整型,values(‘{}’)这是一个字符串类型
类型区别的重点在与values中的{}是否被单引号括起来,如果括起来了就是字符串,没有就是整型。而与format()中参数类型无关。

  1. 书写错误。
    如标点符号,英文符号错输成中文;如多出空格等
    注意:逗号,括号,分号都要用英文的不要写成中文的!!!!!!!(我就是这样错的 哭~)
http://www.dtcms.com/a/89446.html

相关文章:

  • Reactor/Epoll为什么可以高性能?
  • LeetCode(977):有序数组的平方
  • 图片类型转换
  • 使用 Python包管理工具 uv 完成 Open WebUI 的安装
  • 【Ubuntu设备端口绑定】
  • 电机控制常见面面试问题(十九)
  • 单链表结点删除
  • PostgreSQL:索引与查询优化
  • 蓝桥杯 整数变换
  • 深入理解 Git Stash:功能、用法与实战示例
  • 第一次程序Hello Python
  • 【数据结构】C语言实现树和森林的遍历
  • WPF x:Static与StaticResource
  • 基于 Hydrus 软件的土壤水、热、盐及污染物迁移模型与案例分析
  • [图形学]在半球面上按照微表面模型采样
  • 《深入探索 C++对象模型》-- 对象实例直接访问成员 VS 通过指针或引用访问成员 P99扩展解释
  • 科技赋能|ZGIS综合管网智能管理平台守护地下城市生命线
  • Nginx目录结构
  • Mininet--moduledeps.py源码解析
  • 为何服务器监听异常?
  • Next Route Handlers的使用
  • 树莓派开发(一):烧录系统,设置SSH远程登录,用摄像头拍照
  • Nginx反向代理及负载均衡
  • 精选10个好用的WordPress免费主题
  • 代码随想录第55期训练营第十一天|LeetCode150.逆波兰表达式求值、239.滑动窗口最大值、347.前K个高频元素
  • 【日常笔记 1】 有关异常学习笔记
  • 《破解老龄化的智能密钥:机器人四维战略与未来养老生态》
  • 魔法测试:用本地多模态大模型(Qwen2.5-VL)将PDF转为Markdown文档
  • 大文件分片上传及断点续传实现
  • AI胡思乱想系列——大模型被当成了X度