Duplicate entry '0' for key 'PRIMARY'的一种可能的解决办法
在MySQL设计好数据库往往数据库中插入数据的时候,
因为主键ID默认是不赋值的,只给其他项目赋值了,相关的SQL代码是这样的
StringBuilder strSql = new StringBuilder();
strSql.Append("insert into tb_enterprise_product(");
strSql.Append("enterprise_id");
strSql.Append(",datetime");
strSql.Append(",value");
strSql.Append(",product"); strSql.Append(") values(");
strSql.Append("@enterprise_id");
strSql.Append(",@datetime");
strSql.Append(",@value");
strSql.Append(",@product"); strSql.Append(")");
MySqlParameter[] parameters = new MySqlParameter[]
{
new MySqlParameter("@enterprise_id", MySqlDbType.Int32)
, new MySqlParameter("@datetime", MySqlDbType.VarChar)
, new MySqlParameter("@value", MySqlDbType.VarChar)
, new MySqlParameter("@product", MySqlDbType.VarChar)
};
数据库的设计是这样的
可以发现因为ID是主键 所以SQL语句没有给ID赋值
那么问题来了,id是int类型,int类型如果不允许为空那么会被默认为0,所以插入第二条数据时,数据库中已经有了主键为0的数据,所以冲突了,产生了错误!
Duplicate entry '0' for key 'PRIMARY'
那么,解决办法时,把id字段设置为自增类型,相关SQL语句是:
create table t_user( id int primary key auto_increment )
Duplicate entry '0' for key 'PRIMARY'的一种可能的解决办法的更多相关文章
- ERROR 1062 (23000): Duplicate entry '0' for key 'PRIMARY'
OS: centos 6.3DB: 5.5.14 测试创建yoon测试表,没有主键,没有索引,基础数据内容如下: mysql> select * from yoon;+----+-------- ...
- Failed to execute query: Duplicate entry '0' for key 'PRIMARY'
今天在做php登陆和登出会插入数据到log表中,,结果报错了:如下: Failed to execute query: Duplicate entry '0' for key 'PRIMARY' SQ ...
- Duplicate entry '0' for key 'PRIMARY'
一般使用ORM时,提交新增实体时, mysql会出现此错误:Duplicate entry '0' for key 'PRIMARY' 原因是插入语句,未提供主键的值,且主键是非自增长的. 解决办法是 ...
- Mysql 错误:Duplicate entry '0' for key 'PRIMARY'
[1]添加数据报错:Duplicate entry '0' for key 'PRIMARY' (1)问题现象 SQL 语句如下: DROP TABLE test_distinct; CREATE T ...
- #1062 - Duplicate entry '0' for key 'PRIMARY'—— mysql的小问题
问题:# 1062 -重复输入“0”. 原因:我估计可能是数据表中主键这一栏已经有一个为“0”了,一般出现这种问题是以int类型的字段在输入时没有输如数据,而int类型默认值为“0”,而你之前第一条数 ...
- [Err] 1062 - Duplicate entry '0' for key 'PRIMARY'
问题描述: sql语句执行的时候,插入语句无法正确执行 问题原因: 主键 重复 出现 0 解决方案: 将主键设置为自增 然而,设置自增后还是可能会出现下面的问题 #1062 – Duplicate e ...
- laravel报错:SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '0' for key 'PRIMARY' (SQL: insert into `cart` (`uid`, `gid`, `gname`, `price`) values (3, 21, 夏季日系复古工装短袖衬衫男士印花潮流宽松五分
原因:要操作的数据表id没有设置自增,导致出现id为0的情况 解决方法:给该数据表的id字段设置自增
- 问题 Duplicate entry '0' for key 'PRIMARY'
今天使用了触发器,在一个表中执行增删改操作,然后在另一个表中执行相应的记录时,出现了这个问题 其实这个问题应该算是细节问题,有两种情况: 1.就是在插入数据的时候将id设置为not nul但是在插入数 ...
- mysql Duplicate entry '9223372036854775807' for key 'PRIMARY'
mysql插入数据报错提示: ERROR 1062(23000) Duplicate entry '9223372036854775807' for key 'PRIMARY' 发现问题果断 直接 ...
随机推荐
- Quartz 任务调度(转)
原文链接:http://lavasoft.blog.51cto.com/62575/93938 Quartz 是个开源的作业调度框架,为在 Java 应用程序中进行作业调度提供了简单却强大的机制.Qu ...
- hdu 5730 Shell Necklace [分治fft | 多项式求逆]
hdu 5730 Shell Necklace 题意:求递推式\(f_n = \sum_{i=1}^n a_i f_{n-i}\),模313 多么优秀的模板题 可以用分治fft,也可以多项式求逆 分治 ...
- 夏令营提高班上午上机测试 Day 2 解题报告
那一天,日照一中夏令营数据结构提高班的同学们终于想起了,被Day2上午的三道题支配的恐惧…… 是的..这一天的题有点难想.. 本来打算前天写这篇随笔,然而前天在机房和同学打luogu月赛…… 昨天 ...
- IOS教程视频汇总
使用StoryBoard做iOS UI界面跳转
- 使用websocket实现在线聊天功能
很早以前为了快速达到效果,使用轮询实现了在线聊天功能,后来无意接触了socket,关于socket我的理解是进程间通信,首先要有服务器跟客户端,服务的启动监听某ip端口定位该进程,客户端开启socke ...
- [Python Study Notes]内存信息
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...
- 【转】Nginx配置详解
转自:http://www.cnblogs.com/knowledgesea/p/5175711.html Nginx常用功能 1. Http代理,反向代理:作为web服务器最常用的功能之一,尤其是反 ...
- Java开发API文档资源
<netty> http://netty.io/4.1/api/index.html < Spring FrameWork > 1 http://spring.io/ 2 ...
- 相对路径和绝对路径的问题"/"带不带斜杠
带有"/"是绝对路径,为项目的上下文目录是从工程开始的路径 不带的话是一个相对路径,相对于执行该代码的目录文件结构
- CentOS7上安装并配置Nginx、PHP、MySql
一.Nginx 1.安装nginx yum install nginx 2.启动nginx systemctl start nginx 除了systemctl start nginx之外,常用的相关命 ...