com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry 'XYZ' for key 'PRIMARY'

Searched on Google with the first line of a JAVA stack trace?

We can recommend more relevant solutions and speed up debugging when you paste your entire stack trace with the exception message. Try a sample exception.

Recommended solutions based on your search

Samebug tips


Check whether privilege has the "not null" restriction. If so it always has to have a value and can never be null.

A different reason could be a wrong implementation of a foreign key. Check whether you always correctly insert/update in both tables.


Nothing is wrong with the database. When it gives you those errors, it's telling you that you are trying to input "nothing" (null) into a column that doesn't allow it. Fix it by removing the not null constraint or by passing a value to that field.

Solutions on the web

via GitHub by erocs
, 1 year ago
via GitHub by erocs
, 2 years ago
Duplicate entry 'UUID REMOVED' for key 'PRIMARY'
via GitHub by tinchoabbate
, 5 months ago
Cannot delete or update a parent row: **a foreign key constraint fails (`java`.`articulos_secciones`, CONSTRAINT `articulo` FOREIGN KEY (`idArticulo`) REFERENCES `articulos` (`idArticulo`) ON DELETE NO ACTION ON UPDATE NO ACTION)**
via Stack Overflow by Paul Statham
, 2 years ago
Duplicate entry '7-1' for key 'PRIMARY'
via by Unknown author, 2 years ago
Duplicate entry 'Jane Austin' for key 'PRIMARY'
via Google Groups by praveenm, 2 years ago
com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry 'XYZ' for key 'PRIMARY'
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(
at com.mysql.jdbc.Util.handleNewInstance(
at com.mysql.jdbc.Util.getInstance(
at com.mysql.jdbc.SQLError.createSQLException(
at com.mysql.jdbc.MysqlIO.checkErrorPacket(
at com.mysql.jdbc.MysqlIO.checkErrorPacket(
at com.mysql.jdbc.MysqlIO.sendCommand(
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(
at com.mysql.jdbc.ConnectionImpl.execSQL(
at com.mysql.jdbc.PreparedStatement.executeInternal(
at com.mysql.jdbc.PreparedStatement.execute(
at net.minecraft.server.v1_10_R1.PlayerList.savePlayerFile(
at net.minecraft.server.v1_10_R1.PlayerList.disconnect(
at net.minecraft.server.v1_10_R1.PlayerConnection.a(
at net.minecraft.server.v1_10_R1.PlayerConnection.disconnect(
at org.bukkit.craftbukkit.v1_10_R1.entity.CraftPlayer.kickPlayer(
at fr.neatmonster.nocheatplus.command.actions.KickCommand.kick(
at fr.neatmonster.nocheatplus.command.actions.KickCommand.onCommand(
at fr.neatmonster.nocheatplus.command.NoCheatPlusCommand.onCommand(
at org.bukkit.command.PluginCommand.execute(
at org.bukkit.command.SimpleCommandMap.dispatch(
at org.bukkit.craftbukkit.v1_10_R1.CraftServer.dispatchCommand(
at fr.neatmonster.nocheatplus.command.actions.delay.DelayCommand$
at org.bukkit.craftbukkit.v1_10_R1.scheduler.CraftScheduler.mainThreadHeartbeat(
at net.minecraft.server.v1_10_R1.MinecraftServer.D(
at net.minecraft.server.v1_10_R1.DedicatedServer.D(
at net.minecraft.server.v1_10_R1.MinecraftServer.C(

Users with the same issue

6 times, 1 week ago
Once, 1 week ago
5 times, 4 weeks ago
4 times, 1 month ago
2 times, 1 month ago

Write tip

Know the solutions? Share your knowledge to help other developers to debug faster.