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报错(持续更新)的更多相关文章

  1. loadrunner报错-持续更新

    一.关联使用web_reg_save_param报错 1.以下是网页中需要关联的地方,有2处,通过网页查看源代码可以看: 2.还可以通过Generation Log来查看需要关联的地方: 3. 然后再 ...

  2. 写入MySQL报错超出 max_allowed_packet 的问题

    写入MySQL报错超出 max_allowed_packet 的问题. MySQL会根据配置文件会限制server接受的数据包的大小.如果写入大数据时,因为默认的配置太小,插入和更新操作会因为 max ...

  3. SQL注入之MySQL报错注入整理

    看大佬们的文章看得我虎躯一震,精神抖擞,于是心血来潮,整理一下MySQL报错注入常见的手段和方法,再举几个例子 <代码审计:企业级Web代码安全架构>一书中介绍过报错注入十大方法,依次是: ...

  4. 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' ...

  5. Asp.Net连接Mysql报错Out of sync with server

    Asp.Net连接Mysql报错Out of sync with server 原因:程序引用的MySql.Data.dll版本高于服务器版本 解决:下载一个低版本的MySql.Data.dll,项目 ...

  6. Linux系统下启动MySQL报错:Neither host &#39;localhost.localdomain&#39; nor &#39;localhost&#39; could be looked up with

    Linux系统下启动MySQL报错:Neither host 'localhost.localdomain' nor 'localhost' could be looked up with 摘要 Li ...

  7. 启动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 ...

  8. Mysql报错注入原理分析(count()、rand()、group by)

    Mysql报错注入原理分析(count().rand().group by) 0x00 疑问 一直在用mysql数据库报错注入方法,但为何会报错? 百度谷歌知乎了一番,发现大家都是把官网的结论发一下截 ...

  9. 解决:MySQL 报错:1045 - Access denied for user 'root'@'localhost'(using password YES)

    一.前言 今年疯狂迷上了开源,只要看到好的开源项目,就会不顾一切一股脑扎进去研究,五一期间发现一个很好的关于众筹的开源项目,但不巧,这个项目竟然是 PHP 写的,没学过 PHP,自然对这个开源项目毫无 ...

随机推荐

  1. 微信小程序——动态修改页面数据(和样式)及参数传递

    1.1.1动态修改页面数据 在小程序中我们经常要动态渲染数据,对于新手而言我们常常遇到修改的数据在控制台显示和页面显示不一致,因为我们用“=”修改数据的,这种是可以修改,但无法改变页面的状态的,还会造 ...

  2. 使用Jq实现弹出层

    对于前端程序员来说,弹出层是经常用到的,下面我叫大家如何用实现JQuery实现弹出层的效果,代码如下: CSS:弹出层的效果 .mask { position: absolute; top: 0px; ...

  3. su和sudo的区别与使用【华为云技术分享】

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/devcloud/article/detai ...

  4. 安装破解版IntelliJ IDEA

    1.下载IntelliJ IDEA http://www.jetbrains.com/idea/download/#section=windows 选择Ultimate版本 2.注册码破解 http: ...

  5. 二叉树的建立&&前中后遍历(递归实现)&&层次遍历

    下面代码包含了二叉树的建立过程,以及三种遍历方法了递归实现,代码中还利用队列实现了层次遍历. import java.util.LinkedList; import java.util.Queue; ...

  6. oracle监听查看、启动和停止

    oracle监听查看.启动和停止 查看监听lsnrctl status 停止监听lsnrctl stop 启动监听lsnrctl start

  7. Ubuntu 18.04 环境下 kubernetes v1.16.2 单机部署说明

    一.安装环境 本次部署使用阿里云ECS 操作系统: Ubuntu  18.04 64位 实例规格: ecs.c6.large 2U4G 二.kubernetes 版本 k8s.gcr.io/kube- ...

  8. 2018HDU多校训练-3-Problem F. Grab The Tree

    Little Q and Little T are playing a game on a tree. There are n vertices on the tree, labeled by 1,2 ...

  9. Redis sorted set 常用命令介绍

    Redis sorted set 使用: Redis 有序集合(sorted set) Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员. 不同的是每个元素都会关联一个 ...

  10. Swing JTable使用

    package cn.ychx; import java.awt.Dimension; import java.awt.Toolkit; import java.sql.Connection; imp ...