Jump to content


Photo

Problema Com Relacionamento Entre Duas Tabelas


  • Faça o login para participar
4 replies to this topic

#1 Junior Simões

Junior Simões

    Turista

  • Usuários
  • 33 posts
  • Sexo:Não informado

Posted 01/10/2007, 11:18

Galera eu não sei o motivo do erro é meu primeiro relacionamento, postei tudo ai, oque erro da é este

Erro no insert: Field 'idCadastro_Cadastro' doesn't have a default value

create table cadastro (
idCadastro int(11) not null primary key auto_increment, :ph34r: :ph34r: :ph34r:
sentido char(32),
data date,
pracaPedagio char(32),
tipodeVeiculo char(32),
arrecadador char(30),
horario time,
Origem char(60),
Destino char(60),
MotivoViajem char(40) null
)ENGINE=InnoDB;


create table cadastrocargas(
idcadastroCargas int(11) not null auto_increment PRIMARY KEY,
eixo char(32),
idCadastro_Cadastro int(11) not null,
frequenciaUtilizacao char(32),
avaliacaoVianorte char(32),
postoUtilizado char(32),
tempodeViajem char(32),
INDEX indexx(idCadastro_Cadastro),
FOREIGN KEY (idCadastro_Cadastro) REFERENCES cadastro(idCadastro) ON DELETE CASCADE ON UPDATE NO ACTION) ENGINE=InnoDB;

<?phprequire("conectdb.php");//tabela cadastro$sentido = ($_POST['sentido']);$datainsert = strip_tags($_POST['datainsert']);$pracaPedagio = strip_tags($_POST['pracaPedagio']);$tipodeVeiculo = strip_tags($_POST['tipodeVeiculo']);$arrecadador = strip_tags ($_POST['arrecadador']);$horario = ($_POST['horario']);$Origem = ($_POST['codOrigem']);$Destino = ($_POST['codDestino']);//motivo_Automoveis$motivoViajem = ($_POST['motivoViajem']);//convertendo data$data = implode(preg_match("~\/~", $datainsert) == 0 ? "/" : "-", array_reverse(explode(preg_match("~\/~", $datainsert) == 0 ? "-" : "/", $datainsert)));//tabela cadastro cargas$eixo = strip_tags($_POST['eixo']);$frequenciaUtilizado = strip_tags($_POST['frequenciaUtilizado']);$avaliacaoVianorte = strip_tags ($_POST['postoUtilizado']);$tempodeViajem = ($_POST['tempodeViajem']);$sqlinsert = "INSERT INTO cadastro ( sentido, data, pracaPedagio, tipodeVeiculo, arrecadador, horario, Origem, Destino, motivoViajem )VALUES('$sentido', '$data', '$pracaPedagio', '$tipodeVeiculo', '$arrecadador', '$horario', '$Origem', '$Destino', '$motivoViajem')";$sqlinsert2 = "INSERT INTO cadastrocargas ( eixo, frequenciaUtilizacao, avaliacaoVianorte, postoUtilizado, tempodeViajem )VALUES('$eixo', '$frequenciaUtilizacao', '$avaliacaoVianorte', '$postoUtilizado', '$tempodeViajem')";mysql_query($sqlinsert) or die ("Erro no insert: " . mysql_error());mysql_query($sqlinsert2) or die ("Erro no insert: " . mysql_error());?>


#2 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 01/10/2007, 12:08

Você não está registrando o valor do campo citado na mensagem na sua query.
Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29

#3 Junior Simões

Junior Simões

    Turista

  • Usuários
  • 33 posts
  • Sexo:Não informado

Posted 01/10/2007, 17:02

Desculpe não entendi,
a chave estrangeira precisa ser registrado , onde ?
obrigado pela atenção

#4 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 01/10/2007, 21:48

No caso sua idéia é usar o ID registrado antes né? Na tabela cadastro?

$sqlinsert = "INSERT INTO cadastro ( sentido, data, pracaPedagio, tipodeVeiculo, arrecadador, horario, Origem, Destino, motivoViajem )
VALUES('$sentido', '$data', '$pracaPedagio', '$tipodeVeiculo', '$arrecadador', '$horario', '$Origem', '$Destino', '$motivoViajem')";

mysql_query($sqlinsert) or die ("Erro no insert: " . mysql_error());

// Pega o id gerado acima
$id = mysql_insert_id();

$sqlinsert2 = "INSERT INTO cadastrocargas ( eixo, idCadastro_Cadastro, frequenciaUtilizacao, avaliacaoVianorte, postoUtilizado, tempodeViajem )
VALUES('$eixo', $id, '$frequenciaUtilizacao', '$avaliacaoVianorte', '$postoUtilizado', '$tempodeViajem')";

mysql_query($sqlinsert2) or die ("Erro no insert: " . mysql_error());

Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29

#5 Junior Simões

Junior Simões

    Turista

  • Usuários
  • 33 posts
  • Sexo:Não informado

Posted 02/10/2007, 08:16

mysql_insert_id()

Putz, meu ajudou muito.
Isso vai me ajudar em varios relacionamentos, só faltava isto.

Vllwwww




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq