Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 01-06-2011 23:30:17

masterphp
Banni
Date d'inscription: 19-09-2008
Messages: 110

SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry

Bonjour,

j'ai cette erreur SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '' for key 'PRIMARY'' lorsque je veux enregister des données de formulaire sachant que j'ai un table

Code:

CREATE TABLE IF NOT EXISTS `disc` (
  `userIduser` int(11) NOT NULL,
  `idDisc` char(12) NOT NULL,
    PRIMARY KEY (`idDisc`),
  KEY `userIduser` (`userIduser`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

Code:

class Disc_Model_DbTable_Disc extends Zend_Db_Table
{
    protected $_name = 'disc';
    protected $_primary = 'idDisc';
    
    public function addDiscount(array $data)
    {
        if(!empty($data))
        {
            $row = $this->createRow();
            $row->idDisc         =         $data['idDisc'];
            $row->dateC         =         $data['dateC'];
            try {
                return $row->save();            
            } catch (Exception $e) {
                return $e;
            }
        }
        return false;
    }

Merci pour votre réponse

Hors ligne

 

#2 18-06-2011 21:45:13

kindy
Membre
Date d'inscription: 17-04-2009
Messages: 32

Re: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry

Bonsoir,

L'erreur que tu as vient du fait que tu essaies d'insérer une valeur qui existe déjà dans ta base de données pour le champ idDisc (ta primary).

Hors ligne

 

#3 20-06-2011 09:01:21

f.garoby
Membre
Date d'inscription: 02-03-2011
Messages: 105

Re: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry

Bonjour,
Comme le signale kindy, le problème vient de la tentative d'insérer une ligne avec un ID déjà existant.

Plus exactement, ton erreur se situe dans le fait que tu fais ceci :

Code:

[lang=php]
$row = $this->createRow();
$row->idDisc = $data['idDisc'];

la méthode "createRow()" fait forcément une insertion, donc si "$row->idDisc" existe déjà, il y a erreur !
Tu devrais donc vérifier la (non-)présence de cet ID dans ta base et faire une insertion ou une modification selon le cas.

Dernière modification par f.garoby (20-06-2011 09:02:17)

Hors ligne

 

#4 28-01-2012 13:25:58

jim8
Nouveau membre
Date d'inscription: 28-01-2012
Messages: 2

Re: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry

Bonjour,
je debute dans le domaine, et je rencontre le même probleme ci-dessus avec magento

j'ai installé un sous domaine et creer une autre base de donnée que le domaine principal est-ce la cause du probleme ?

Si qlq peut me filer un cour de pouce ? pour agir sur la base

J'ai un serveur ovh centos, linux, plesk
merci d'avance
bye

Hors ligne

 

#5 28-01-2012 13:42:13

jim8
Nouveau membre
Date d'inscription: 28-01-2012
Messages: 2

Re: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry

Je transmets le message erreur
Rockettheme c'est une template que j'ai transferer par dessus l'install de base, mon sous domaine c'est l'install avec la templete integrer pour m'aider a parametrer mon domaine principale
merci
Error in file: "/var/www/vhosts/*********com/httpdocs/app/code/community/Rockettheme/ExtensionSetup/sql/extensionsetup_setup/mysql4-install-1.0.php" - SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '99' for key 'PRIMARY'

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages