mysql – Error: Duplicate entry 0 for key PRIMARY
mysql – Error: Duplicate entry 0 for key PRIMARY
For those arriving at this question because of the question title (as I did), this solved my problem:
This error can indicate that the tables PRIMARY KEY is not set to AUTO-INCREMENT, (and your insert query did not specify an ID value).
To resolve:
Check that there is a PRIMARY KEY set on your table, and that the PRIMARY KEY is set to AUTO-INCREMENT.
How to add auto-increment to column in mysql database using phpmyadmin?
The problem is that your code attempts to change every row in the data changing the primary key to the value in $ID. This is not set anywhere in your code, and presumably is being cast as 0
$sql=UPDATE `dati` SET `ID`=$ID,`title`=
$titletxt,`value1`=$value1,`value2`=$value2 WHERE 1;
The primary key value should be sent to the form and returned so it can be processed by your code, but the value should be retained, hence….
$sql=UPDATE `dati` SET `title`=
$titletxt,`value1`=$value1,`value2`=$value2 WHERE `ID`=$ID;
You should also read up on MySQL injection – even after youve fixed the errors here, anyone can do just about anything they want with your database.
mysql – Error: Duplicate entry 0 for key PRIMARY
The error log like (In my case), Im using Aurora DB:
PHP message: WordPress database error Duplicate entry 0 for key PRIMARY for query INSERT INTO `date173_postmeta
How to fix it using MySQL Workbench:
1- Connect at your DB, and go to the table with the issue, in my case date173_postmeta
2- Select the tools icon:
3- In the windows/tab at right, select the AI checkbox and click on Apply button:
Following the last steps my issues gone.
Related posts on my sql :
- python – How can I use Conda to install MySQLdb?
- php – MySQL Workbench vs phpMyAdmin
- mysql – No package msyql-server available
- mysql – Amazon RedShift – How to query OLAP way
- MySQL: The correct way to calculate standard deviation
- php – mysqli_real_escape_string – example for 100% safety
- mysql – DISTINCT COUNT in SELECT CASE SQL
- mysql – Quartiles in SQL query