[PDO] Integrity constraint violation

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior Solution Integrity Analyst – Finance

Cargill Position Purpose & Summary The Cargill Animal Nutrition and Health enterprise has an ambitious agenda to implement an SAP S/4 template across all businesses and in multiple regions. The instance team consists of Operations, Commerce and Finance application management teams. For the Finance Application management team, Cargill is looking for an experienced Financial Accounting consultant (aka Solution Integrity Analyst) that can take a lead role. Principal Accountabilities Solution Management Lead Instance solution architecture, solution integrity and the functional relationship across multiple concurrent projects and sustain activities Drive strategic integrated solutions which in turn deliver the business requirements and associated

Bekijk vacature »

Mebus  Hackintosh

Mebus Hackintosh

08/11/2012 11:47:35
Quote Anchor link
Ik krijg de volgende error met PDO:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`sma`.`episodes`, CONSTRAINT `episodes_ibfk_1` FOREIGN KEY (`show_id`) REFERENCES `shows` (`id`))


SQL:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
CREATE TABLE IF NOT EXISTS shows (
    id                    int unsigned                not null    AUTO_INCREMENT,
    tvdb_id                int unsigned,
    bd_id                int unsigned,
    name                varchar(200)                not null,
    date_added            datetime                    not null,
    PRIMARY KEY(id),
    UNIQUE KEY(tvdb_id, bd_id)
) ENGINE=INNODB;

CREATE TABLE episodes (
    id                     bigint unsigned                not null     AUTO_INCREMENT,
    show_id                int unsigned                not null,
    season                tinyint unsigned            not null,
    episode                tinyint unsigned            not null,
    date_added            datetime                    not null,
    PRIMARY KEY(id),
    INDEX(show_id),
    FOREIGN KEY (show_id) REFERENCES shows (id) ON UPDATE CASCADE ON DELETE RESTRICT
) ENGINE=INNODB;


Als ik een record via phpmyadmin invoeg krijg ik geen error. Is mijn FOREIGN KEY verkeerd?

Dit is mijn PDO query:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
            $insertNewEpisode            = 'INSERT INTO episodes (show_id, season, episode, date_added) VALUES
                                        (:show_id, :bierdopje_season, :bierdopje_episode, now())';
Gewijzigd op 08/11/2012 11:48:07 door Mebus Hackintosh
 
PHP hulp

PHP hulp

02/04/2020 01:26:56
 
Mebus  Hackintosh

Mebus Hackintosh

09/11/2012 22:39:43
Quote Anchor link
(:
 
Aad B

Aad B

09/11/2012 23:08:53
Quote Anchor link
Je hebt een FOREIGN KEY (show_id) REFERENCES shows en wanneer er geen refererend show_id in shows voorkomt krijg je deze melding. Je zou in phpadmin ook een (dezelfde) error moeten krijgen. Misschien onderdrukt die phpadmin de error wel en is er geen insert?? Met deze show_id) REFERENCES shows dien je dus eerst een record aan te maken in show en het show_id te vullen met het id uit show.
Gewijzigd op 09/11/2012 23:12:14 door Aad B
 
Mebus  Hackintosh

Mebus Hackintosh

09/11/2012 23:32:09
Quote Anchor link
Bedankt voor de reactie! Ik zal er morgen even naar kijken :) Had voor nu maar even de references weggelaten.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.