MySql报错(持续更新)
MySql报错
1. 重复键报错1062- duplicate entry '0' for key 'xxx'
1.1 报错场景
在建立索引的时候报此错误。
1.2 报错原因
索引或者主键有重复键
1.3 解决方法
删除重复的索引或者主键条目,即可。
1.4 具体举例
给MAC建立索引表的时候,会报此错误,原因是原表中有重复键0,删除一个即可。

2. VS2019 nuget控制台类型不匹配报错
2.1 报错描述如下
Could not find type mapping for column 'alarms.id' with data type 'int unsigned zerofill'. Skipping column.
Could not scaffold the primary key for 'alarms'. The following columns in the primary key could not be scaffolded: id.
Unable to generate entity type for table 'alarms'.
2.2 报错场景
对接数据库是Mysql,使用VS2019 nuget控制台指令进行Dbfirst。在Dbfirst生成字段的时候,报此错误,无法生成对应表的字段。
2.3 报错原因
数据库侧对主键设置了无符号,填充零。
2.4 解决方法
使用Navicat管理Mysql,取消无符号,填充零。

3 数据库Varchar类型为空返回DBnull与服务端string类型不匹配报错
3.1 报错描述如下
System.InvalidCastException: Unable to cast object of type 'System.DBNull' to type 'System.String'.
3.2 报错场景
服务程序字段类型为string, 数据库类型为varchar。当数据库为空的时候,返回DBnNull,与服务端String类型不匹配报错。
3.3 报错原因
类型不匹配
3.4 解决方法1
3.4.1 将数据库中为空的字段写入数据
3.4.2 当数据库返回DBNull时,将返回数据改成Null,网上有很多类似例子。
return (accountNumber == DBNull.Value) ? string.Empty : accountNumber.ToString()
备注:适合单条对象不匹配
3.4.3 配置文件Map里取消非空设置
builder.Property(c => c.AlarmName)
.HasColumnType("varchar(40)")
.HasMaxLength(40);
// .IsRequired();
builder.Property(c => c.AlarmType)
.HasColumnType("varchar(20)")
.HasMaxLength(20);
// .IsRequired();
备注:适合整个集合的不匹配
3.5 解决方法2(最优)
2019/8/6日更新。
public string? HKID { get; set; }
C#中加个可空类型即可完美解决问题。
MySql报错(持续更新)的更多相关文章
- loadrunner报错-持续更新
一.关联使用web_reg_save_param报错 1.以下是网页中需要关联的地方,有2处,通过网页查看源代码可以看: 2.还可以通过Generation Log来查看需要关联的地方: 3. 然后再 ...
- 写入MySQL报错超出 max_allowed_packet 的问题
写入MySQL报错超出 max_allowed_packet 的问题. MySQL会根据配置文件会限制server接受的数据包的大小.如果写入大数据时,因为默认的配置太小,插入和更新操作会因为 max ...
- SQL注入之MySQL报错注入整理
看大佬们的文章看得我虎躯一震,精神抖擞,于是心血来潮,整理一下MySQL报错注入常见的手段和方法,再举几个例子 <代码审计:企业级Web代码安全架构>一书中介绍过报错注入十大方法,依次是: ...
- PHP连接MySQL报错:SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket 'MySQL' (2)
如下所示,PHP连接MySQL报错: SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket 'MySQL' ...
- Asp.Net连接Mysql报错Out of sync with server
Asp.Net连接Mysql报错Out of sync with server 原因:程序引用的MySql.Data.dll版本高于服务器版本 解决:下载一个低版本的MySql.Data.dll,项目 ...
- Linux系统下启动MySQL报错:Neither host 'localhost.localdomain' nor 'localhost' could be looked up with
Linux系统下启动MySQL报错:Neither host 'localhost.localdomain' nor 'localhost' could be looked up with 摘要 Li ...
- 启动Mysql报错:Another MySQL daemon already running with the same unix socket.
启动Mysql报错: Another MySQL daemon already running with the same unix socket. 删除如下文件即可解决 /var/lib/mysql ...
- Mysql报错注入原理分析(count()、rand()、group by)
Mysql报错注入原理分析(count().rand().group by) 0x00 疑问 一直在用mysql数据库报错注入方法,但为何会报错? 百度谷歌知乎了一番,发现大家都是把官网的结论发一下截 ...
- 解决:MySQL 报错:1045 - Access denied for user 'root'@'localhost'(using password YES)
一.前言 今年疯狂迷上了开源,只要看到好的开源项目,就会不顾一切一股脑扎进去研究,五一期间发现一个很好的关于众筹的开源项目,但不巧,这个项目竟然是 PHP 写的,没学过 PHP,自然对这个开源项目毫无 ...
随机推荐
- ELK的简单搭建
Environment (都需要Java环境,jdk){ elasticsearch kibana 安装nginx用以测试 logstash } 1.首先拉取软件包,给予Java语言开发首选配置Ja ...
- 车标知识学习网页开发,与Flask通过base64展示二进制图片 #华为云·寻找黑马程序员#
万法同源 一直觉得可能自己不太适合搞技术,更适合在天桥底下支个摊子说书.技术的东西从来没人关注,扯东扯西的文章莫名的火.之前的一篇文章MarkDown添加图片的三种方式不管是在技术为主的CSDN还是娱 ...
- jquery.countdown 倒计时插件的学习
1.第一种简单的使用 第一个时间是你的倒计时截止时间,finalDate格式可以是YYYY/MM/DD MM/DD/YYYY YYYY/MM/DD hh:mm:ss MM/DD/YYYY hh:mm: ...
- mybatis注解
@select查詢 @insert添加 @delete刪除 @update修改 @Results自关联 @Results映射 @One UserByRole表: RoleByUser表: @Many ...
- 强化学习三:Dynamic Programming
1,Introduction 1.1 What is Dynamic Programming? Dynamic:某个问题是由序列化状态组成,状态step-by-step的改变,从而可以step-by- ...
- ARTS-S golang goroutines and channels(一)
先用golang实现一个简单的tcp服务端,假定文件名为clock1.go // clock1.go package main import ( "fmt" "io&qu ...
- Redis数据类型和操作
<"Java技术员"成长手册>,包含框架.存储.搜索.优化.分布式等必备知识,都收集在GitHub JavaEgg ,N线互联网开发必备技能兵器谱,欢迎指导 Redis ...
- CentOS6.8系统最小化安装
一.CentOS系统版本 CentOS-6.8-x86_64 二.安装系统 1.打开VMware主页点击创建虚拟机 2.选择镜像 3.启动虚拟机 4.键入回车键直接进行安装 5.按Tab键选择Skip ...
- 跟着文档学习gulp1.1安装入门
Step1:检查是否已经安装了node,npm 和 npX是否正确安装 Step2:安装gulp命令行工具(全局安装gulp) npm install --global gulp-cli Step3: ...
- CCF-CSP题解 201609-4 交通规划
最小最短路径树. \(dis[j]==dis[i]+w(i,j)\)时,从\(w(i,j')\)和\(w(i,j)\)考虑.--从0分到100分. #include <bits/stdc++.h ...