MySql insert into 失败?

MySql insert into 失败?,第1张

MySql中的insert into *** 作有时候会失败,原因可能是由于插入的数据与表中已有的数据存在冲突,或者是由于数据格式不正确导致的。此外,如果表中存在主键约束或外键约束,而你所要插入的数据又违反了这些约束,那么也会导致insert into语句执行失败。因此,要想避免MySql insert into语句执行失败,就必须保证所要插入的数据根据表中定义的各种约束都是正确有效的。

先把约束去掉, 可以去使约束 与 NOCHECK 状态;

ALTER TABLE 表名 NOCHECK CONSTRAINT ALL

详细点 请参见SQL SERVER 2005帮助文档。

说你在一中插入了重复键(Primary key)是主键约束,一般情况下出现以下几种情况:

物理表中插入了重复的键。

查看数据库,待插入表确实存在了已经存在的主键,所以不能够重复插入。

程序实体集中插入了重复键。

这个比较难查一些,一般是在程序中使用了dataset/datatable或实体集(linq to sql,EF技术)而插入时是先手入到实体集,由实体集向数据库更新数据,实现持久。在相应的datatable中插入了重复的键也是不可行的!

在同一事务中存在的两次插入。

写程序时不小心,在同一事务中两次插入,自然会引起主键约束,而错误后进行了回滚,导致一个也插入不了。在非事务中,则会插入一条,二次插入时报错。

其实在同一事务中的两次插入,可能是插入到物理表,也可能是在程序实体集中插入,总之不管哪种情况都是出现相同的结果。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6631323.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-26
下一篇 2023-03-26

发表评论

登录后才能评论

评论列表(0条)

保存