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,自然对这个开源项目毫无 ...
随机推荐
- 鲲鹏云实验-Python+Jupyter机器学习基础环境
[摘要] 介绍Ubuntu 18.04环境下Python3常用科学计算和数据分析包(numpy, scipy, matplotlib, sklearn, pandas)的安装,以及Jupyter No ...
- 如何不用BPM配置时间
详细方案 配置时间 您需要同步消息接口(JDBC)和异步消息接口(对JEDBCReceiver的响应).对于SAP BAPI,我们不需要消息接口. 注意:CIMS是数据库系统 消息接口(请求/响应) ...
- 转:Connection reset原因分析和解决方案
在使用HttpClient调用后台resetful服务时,“Connection reset”是一个比较常见的问题,有同学跟我私信说被这个问题困扰很久了,今天就来分析下,希望能帮到大家.例如我们线上的 ...
- c获取shell中的参数
问题背景 在Linux中我们会使用到shell,来完成输入参数的获取,就如同下面的形式,这种形式在进行多语言编程和调用有着非常重要的作用 一.传递的过程 1.1 原理模型如下: 1.1.1 可执行sh ...
- jQuery中操作页面的文本和值
主要是区分俩种方法: 1.html():可以识别HTML文件,将里面内容全部打印(操作双标签) 2.text():只是将里面的内容打印出来,不能识别HTML格式(操作双标签) <!DOCTYPE ...
- Ubuntu18.04安装openCV4.1.2
Ubuntu18.04下安装openCV4.1.2 注意: 在整个安装过程中,包括后期QT的使用中不要出现中文路径.会很坑的. 一.下载openCV4.1.2 可以再官网进行下载https://ope ...
- 2018HDU多校训练一 C -Triangle Partition
Chiaki has 3n3n points p1,p2,-,p3np1,p2,-,p3n. It is guaranteed that no three points are collinear. ...
- 重排数列-Java实现(2018网易校招研发岗)
题目: 链接:https://www.nowcoder.com/questionTerminal/6c184566ecff4d3baff3536449d4a3e2 来源:牛客网 小易有一个长度为N的正 ...
- 【Web技术】 275- 理解 WebView
前言 了解webview的神秘之处.今日早读文章由@子非翻译分享. 正文从这开始-- 我们通常使用 Chrome, Firefox, Safari, Internet Explorer 和 Edge ...
- dockerfile-格式和使用
一.dockerfile格式 Dockerfile是一个包含用于组合映像的命令文本文档,可以使用在命令行中调用任何命令,Docker通过读取dockerfile中的指令自动生成映像.docker bu ...