Can not add or update a child row

1

Well, I have these tables with the following structures:

Athletes:    id_atletas    id_identificacao    nome_completo    licenca

Identification:    id_identificacao    nome_pretendido    data_nascimento

The id_identifies as FK in the Athletes table and wanted the athlete to register the id_identifi- cation of the id table in the Athletes table.

I have the following code:

$query_identificacao = "INSERT INTO identificacao (nome_pretendido, data_nascimento) VALUES ('$nome_pretendido', '$data_nascimento')";
$id = mysql_insert_id();

$query_atletas = "INSERT INTO atletas (nome_completo, licenca, id_identificacao) VALUES ('$nome_completo', '$licenca', '$id')";
$id = mysql_insert_id(); 

mysql_query($query_identificacao) or die(mysql_error());
mysql_query($query_atletas) or die(mysql_error());

But give me the following error:

  

Can not add or update child row: a foreign key constraint fails ( teste . atletas , CONSTRAINT atletas_ibfk_7 FOREIGN KEY ( id_identificacao ) REFERENCES identificacao

    
asked by anonymous 22.06.2015 / 13:30

1 answer

2

Only after you execute the query (with mysql_query() ) will you be able to get the inserted id (with mysql_insert_id() ). Example:

$query_identificacao = "INSERT INTO identificacao (nome_pretendido, data_nascimento) VALUES ('$nome_pretendido', '$data_nascimento')";
mysql_query($query_identificacao) or die(mysql_error());
$id_identificacao = mysql_insert_id();

$query_atletas = "INSERT INTO atletas (nome_completo, licenca, id_identificacao) VALUES ('$nome_completo', '$licenca', '$id_identificacao')";
mysql_query($query_atletas) or die(mysql_error());
$id_atleta = mysql_insert_id(); 
    
20.07.2015 / 01:07