Vinnaren i pepparkakshustävlingen!
2008-08-04, 21:17
  #1
Medlem
Oceanics avatar
Hejsan, lyckas inte få min kod att fungera får medelandet:
Citat:
Cannot add or update a child row: a foreign key constraint fails (`ot/players`, CONSTRAINT `players_ibfk_1` FOREIGN KEY (`account_id`) REFERENCES `accounts` (`id`) ON DELETE CASCADE)
När jag kör min kod. Kan inte hitta felet.

Kod:
Kod:
<?
$startlevel 
8;
$start_hp 100;
$start_exp 4200;

$start_magiclevel 10;
$start_mana 400;

$posx 100;
$posy 100;
$posz 100;

$start_cap 470;

mysql_query("INSERT INTO players(name, account_id, level, vocation, health, healthmax, experience, lookbody, lookfeet, lookhead, looklegs, lookaddons, maglevel, mana, manamax, town_id, posx, posy, posz, conditions, cap, soul, sex) values('$name', '$account_number', '$startlvl', '$voc', '" .$start_hp"', '" .$start_hp"', '$start_exp', '121', '141', '59', '116', '0', '$start_magiclevel', '$start_mana', '$start_mana', '1', '$posx', '$posy', '$posz', '0', '$start_cap', '100', '$sex')") or die(mysql_error());
?>

Någon som ser felet?
Citera
2008-08-04, 21:48
  #2
Moderator
Protons avatar
En kvalificerad gissning är att dina främmande nycklar sätter stopp för din insert, eftersom de tabeller som hålls ihop med hjälp av din constraint skulle orsaka en referensinkonsistens om frågan kördes.

En lösning är att ta bort dina främmande nycklar-constraints (med risk för datainkonsistens längre fram) eller att se till att samma id finns i bägge påverkade tabellerna innan din transaktion avslutas förutsatt att sådana används.

Kan det vara så till å med att du försöker stoppa i ett "barn" till något som är angett som förälder i samma tabell som skulle orsaka referenskonflikter till och med?
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback