Pouze tento týden sleva až 80 % na e-learning týkající se C# .NET. Zároveň využij akce až 50 % zdarma při nákupu e-learningu. Více informací:
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Neaktivní uživatel:8.12.2013 16:10

Zdravím, mám 2 sql soubory. create.sql pro vytvoření tabulek v databázi a insert.sql pro vložení záznamů. Jenže při vkládání záznamů se zobrazí chyba 1452 (Cannot add or update a child row: a foreign key constraint fails (%s)). Dřív jsem měl všechno v jednom souboru a jelo to. Teď při rozdělování jsem asi něco blbě napsal a nemůžu přijít, kde je chyba. Žádnou tam prostě nevidím :(

Create: http://pastebin.com/0w5HyVxp
Insert: http://pastebin.com/0w5HyVxp

Celá chyba:

Chyba

SQL-dotaz:

INSERT INTO penalty (id, driver_id, offence_id, penalty_date, payment_date) VALUES (1, 1, 9, '1996-11-30', '1996-11-30'), (2, 1, 6, '1988-12-04', '1991-03-13'), (3, 1, 3, '1982-01-31', NULL), (4, 3, 5, '1979-10-22', '1980-05-06'), (5, 4, 9, '1984-07-30', NULL), (6, 4, 2, '1984-11-21', '1987-03-22'), (7, 4, 8, '1994-07-09', '1994-09-23'), (8, 5, 0, '2012-04-22', NULL), (9, 5, 6, '2009-07-01', NULL), (10, 6, 8, '2005-02-23', NULL), (11, 8, 2, '1992-10-17', '1993-10-05'), (12, 8, 8, '2013-09-02', NULL), (13, 9, 3, '1993-10-16', '1995-06-23'), (14, 10, 1, '1997-10-22', '1999-10-17'), (15, 10, 7, '1997-09-05', NULL), (16, 10, 0, '1989-02-14', '1989-02-14'), (17, 11, 1, '1989-03-13', '1992-06-18'), (18, 11, 0, '1997-10-20', NULL), (19, 13, 6, '2013-03-17', NULL), (20, 13, 2, '1994-09-30', NULL), (21, 14, 2, '2012-02-23', NULL), (22, 16, 4, '1979-11-17', NULL), (23, 17, 4, '2011-04-28', '2011-04-28'), (24, 17, 0, '2004-06-16', '2004-06-16'), (25, 17, 8, '2007-10-01', NULL), (26, 20, 8, '200[...]

MySQL hlásí: Dokumentace
#1452 - Cannot add or update a child row: a foreign key constraint fails (`iis`.`penalty`, CONSTRAINT `penalty_ibfk_2` FOREIGN KEY (`offence_id`) REFERENCES `offence` (`id`) ON DELETE CASCADE)
Editováno 8.12.2013 16:12
Odpovědět
8.12.2013 16:10
Neaktivní uživatelský účet
Avatar
Neaktivní uživatel:8.12.2013 16:14

EDIT (původní příspěvek nešel upraivt):
Insert: http://pastebin.com/RdHf3upf
Tady je ta chyba

Chyba

SQL-dotaz:

INSERT INTO penalty (driver_id, offence_id, penalty_date, payment_date) VALUES (1, 7, '2004-03-09', NULL), (2, 7, '2008-05-28', '2008-08-01'), (2, 3, '2013-09-07', NULL), (3, 1, '1975-11-09', '1976-02-25'), (3, 4, '1999-03-03', '1999-03-03'), (3, 7, '2000-05-01', NULL), (4, 4, '1984-03-28', '1985-09-07'), (5, 1, '2006-03-03', '2006-05-10'), (7, 1, '2003-05-14', NULL), (7, 4, '2010-10-22', '2014-08-16'), (7, 9, '2001-11-05', NULL), (8, 4, '2000-10-17', NULL), (8, 2, '2001-09-18', NULL), (8, 5, '2002-07-12', NULL), (9, 1, '2007-03-16', '2007-11-29'), (9, 9, '1973-09-07', NULL), (10, 7, '2009-09-03', NULL), (10, 2, '2007-05-02', NULL), (10, 9, '2010-01-31', '2011-08-09'), (11, 6, '2010-11-26', NULL), (11, 0, '2010-10-11', '2010-12-14'), (13, 2, '2003-03-02', NULL), (13, 6, '2011-07-29', '2011-07-29'), (13, 6, '2011-07-25', NULL), (14, 0, '2011-08-01', NULL), (14, 1, '2012-07-15', '2013-08-25'), (15, 7, '1989-10-21', '1993-07-01'), (15, 0, '2001-02-20', NULL), (15, 6, '1990-05-29', NULL)[...]

MySQL hlásí: Dokumentace
#1452 - Cannot add or update a child row: a foreign key constraint fails (`iis`.`penalty`, CONSTRAINT `penalty_ibfk_2` FOREIGN KEY (`offence_id`) REFERENCES `offence` (`id`) ON DELETE CASCADE)
Editováno 8.12.2013 16:15
Nahoru Odpovědět
8.12.2013 16:14
Neaktivní uživatelský účet
Avatar
Neaktivní uživatel:8.12.2013 16:42

Ok asi se pujdu zabit... Cely vikend nic a jen co sem napisu, tak hned si vsimnu, ze u jednoho id mam 0, ale vsechny id v databazi jsou od 1.. :(

Nahoru Odpovědět
8.12.2013 16:42
Neaktivní uživatelský účet
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
Kit:8.12.2013 16:54

Kdyby jen u jednoho...

Nahoru Odpovědět
8.12.2013 16:54
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.