mysql插入数据 报错[Err] 1136 - Column count doesn't match value count at row 1(表中有自增列)

版本:8.0.16

创建了一张表:create table user_table(
uid int primary key auto_increment,
uname varchar(10)
)auto_increment=1

插入数据报错:

经查找 ,有三种方式可以解决这个问题:

1.插入数据得时候,带入列名:

insert into user_table("uname") values ("刘一")

2.自增键这列设置为0

insert into user_table values(0,"刘二")

3.自增键这列设置为null

insert into user_table values(null,"刘三")

结果:

mysql插入数据 报错[Err] 1136 - Column count doesn't match value count at row 1(表中有自增列)

原文地址:https://www.cnblogs.com/yanwangye/p/12093949.html

时间: 2024-11-05 13:48:48

mysql插入数据 报错[Err] 1136 - Column count doesn't match value count at row 1(表中有自增列)的相关文章

MySql 插入数据库报错 Incorrect string value: '\xF0\xA0\x86\xA2'

今天从nginx日志分析搜索关键字,然后把关键字插入到Mysql数据库里,出现如下错误 SQL state [HY000]; error code [1366]; Incorrect string value: '\xF0\xA0\x86\xA2' for column 'XXXX' at row 38; nested exception is java.sql.SQLException: Incorrect string value: '\xF0\xA0\x86\xA2' for column

mysql 插入中文报错: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect datetime value...

总结写在前面, 总结: 当Java通过jdbc链接mysql插入中文时,要保证程序可以正常执行,而且插入的中文不会乱码, mysql服务器端,对数据表(不是数据库)的编码设置,要保证是支持中文的,例如gbk, gb2312, utf-8 jdbc的连接配置,要开启useUnicode=true,并且要设置一个支持中文的编码,不需要跟mysql表的编码保持一致,只需要支持中文就行.例如characterEncoding=utf8 本身的Java文件的编码需要支持中文 ===============

mysql插入中文报错的问题

报错:1366, "Incorrect string value: '\\xE6\\xB7\\xB1\\xE5\\x85\\xA5...' for column ' 由于公司原因之前一直在使用oracle,最近做一个es+springboot练习时使用到mysql发现在插入中文时不能正常成功; 解决办法: 在创建数据库时就将库中的编码格式设置好:default charset utf8 collate utf8_unicode_ci; create database bdname default

解决python mysql插入数据时报错:TypeError: %d format: a number is required, not str

今天在使用python爬取数据并将其写入mysql数据库时,使用该如下语句: cursor.execute( "insert into comments_p_spider(owner_id,from_name,content,create_time,score,comment_level) values(%d,%s,%s,%s,%f,%s)", (p_id,str(username), str(contentStr), str(create_time),float(score), st

mysql 插入语句报错之一

#添加学生信息INSERT INTO student VALUES('108','曾华','男','1977-09-01','95033'); 在mysql中插入上面一条信息数据,mysql出现下面错误 1 queries executed, 0 success, 1 errors, 0 warnings 查询:insert into teacher values('804','李诚','男','1958-12-02','副教授','计算机系') 错误代码: 1366Incorrect stri

解决MySql插入中文报错的问题

Incorrect string value: '\xE6\x9B\xB9\xE5\x86\xAC...' for column 'realname' at row 1 该情况一般是由数据库设计时的编码错误导致的. show variables like 'character%' ;  查看数据库编码,为latin1. 如果项目正在测试当中,数据不重要的话,一劳永逸的解决办法是,使用 alert database tuanplus character set utf8 更改数据库的编码格式,再重

mysql数据库中不能插入0000-00-00 00:00:00日期数据(报错Invalid datetime format: 1292 Incorrect datetime value: '0000-00-00 00:00:00')

报错信息 SQLSTATE[22007]: Invalid datetime format: 1292 Incorrect datetime value: '0000-00-00 00:00:00' for column 'settlementTime' at row 1 我最后把mysql设置成可空,接受null型 参考:https://yq.aliyun.com/articles/17124 mysql数据库中不能插入0000-00-00 00:00:00日期数据(报错Invalid dat

Mysql 插入时间时报错Incorrect datetime value: '' for column 'createtime'

在网上找了很多方法总结如下: 1.MySQL驱动版本的问题.这种一般是在mYSQL版本更新了之后才会报错.解决方法在jdbc里添加"&useOldAliasMetadataBehavior=true" 2.可能是datetime的格式问题. datetime 以'YYYY-MM-DD HH:MM:SS'格式检索和显示DATETIME值.支持的范围为'1000-01-01 00:00:00'到'9999-12-31 23:59:59'TIMESTAMP值不能早于1970或晚于20

MySql数据库执行insert时候报错:Column count doesn't match value count at row 1

遇到这个问题之后,第一反应就是前后列数不等造成的,但是我检查SQL之后,发现列数是相同得,但是插入还是有问题,然后又写了简单得SQL只插入不为空得字段,执行还是报这个错,最后请教了高人,指点之后,大概是因为当前插入得表被锁住了,然后执行下面得SQL后,之前得SQL就可以正常插入了 LOCK TABLES `system_function_info` WRITE;  UNLOCK TABLES; MySql数据库执行insert时候报错:Column count doesn't match val