Donc ma base de données MySQL se comporte un peu bizarrement. Voici ma table:
Name shares id price indvprc
cat 2 4 81 0
goog 4 4 20 20
fb 4 9 20 20
J'obtiens cette erreur # 1062 lorsque j'essaye de l'insérer dans le tableau. Je l'ai donc examiné plus en détail et j'ai réalisé que lorsque j'essayais d'insérer des valeurs dans la table, dans lesquelles le nom et les valeurs de partage étaient identiques, cela renverrait l'erreur # 1062. Par exemple, si j'ai inséré:
fb 4 6 20 20
Cela retournerait une erreur. Mais si je changeais le nombre d'actions en 6, cela fonctionnerait bien. Est-ce à cause d'une de mes colonnes qui pourrait être unique, ou est-ce juste quelque chose avec mysql?
Vous devez supprimer shares
en tant que votre PRIMARY KEY
OR UNIQUE_KEY
Utilisation SHOW CREATE TABLE your-table-name
pour voir quelle colonne est votre clé primaire.
PRIMARY KEY
a été choisi AUTO_INCREMENT
.ALTER TABLE [table name] AUTO_INCREMENT = 1
Je l'ai résolu en changeant la propriété "lock" de "shared" en "exclusive":
ALTER TABLE `table`
CHANGE COLUMN `ID` `ID` INT(11) NOT NULL AUTO_INCREMENT COMMENT '' , LOCK = EXCLUSIVE;
Quel est le message d'erreur exact? # 1062 signifie une entrée en double violant une contrainte de clé primaire pour une colonne - ce qui revient au point que vous ne pouvez pas avoir deux des mêmes valeurs dans la colonne. Le message d'erreur devrait vous indiquer laquelle de vos colonnes est contrainte, je suppose que "partages".
Ce n'est probablement pas la meilleure solution, mais ce qui suit résoudra le problème
Étape 1: effectuer un vidage de la base de données à l'aide de la commande suivante
mysqldump -u root -p databaseName > databaseName.db
trouver la ligne
ENGINE=InnoDB AUTO_INCREMENT="*****" DEFAULT CHARSET=utf8;
Étape 2: modifiez *******
au max id de votre id de table mysql. Enregistrez cette valeur.
Étape 3: utilisez à nouveau
mysql -u root -p databaseName < databaseName.db
Dans mon cas, j'ai eu cette erreur lorsque j'ai ajouté une entrée manuelle à utiliser pour entrer des données dans un autre tableau. certains comment nous devons définir la valeur AUTO_INCREMENT
à max id en utilisant la commande mysql
Réparez la base de données par votre fournisseur de domaine cpanel.
Ou voyez si vous n'avez pas fusionné quelque chose dans le phpMyAdmin