Помоги с этой ошибкой SQLSTATE [23000]: Integrity constraint violation: 1452 Cannot add or update в child row: в foreign key constraint fails

Хорошие я являюсь попробованным наполнять два подмостков баз данных, связанных в Laravel используя ajax

одна из книг

use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreateLibrosTable extends Migration {

/**
 * Run the migrations.
 *
 * @return void
 */
public function up()
{
    Schema::create('libros', function(Blueprint $table)
    {
        $table->increments('id');
        $table->string('titulo');
        $table->integer('id_categoria')->unsigned();
        $table->integer('id_autor')->unsigned();
        $table->integer('id_editorial')->unsigned();
        $table->integer('cantidad');
        $table->date('fecha_lanzamiento');
        $table->string('idioma');
        $table->integer('paginas');
        $table->string('descripcion');
        $table->string('tipo');
        $table->string('enlace');

        $table->timestamps();
    });
}

и одна из категорий

use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreateCategoriasTable extends Migration {

/**
 * Run the migrations.
 *
 * @return void
 */
public function up()
{
    Schema::create('categorias', function(Blueprint $table)
    {
        $table->increments('id');
        $table->string('nombre');
        $table->integer('libro_id')->unsigned();
        $table->foreign('libro_id')->references('id')->on('libros');


        $table->timestamps();
    });
}

и scrip AJAX

$("#registro").click(function()
{
var dato = $("#categoria").val();
var route = "http://localhost:8000/categoria";
var token = $("#token").val();

$.ajax({
    url: route,
    headers:{'X-CSRF-TOKEN': token},
    type: "POST",
    dataType:'json',
    data: {categoria: dato},

    success:function(){
        $("#msj-success").fadeIn();
    },

    error:function(msj){
        $("#msj").html(msj.responseJSON.categoria);
        $("#msj-error").fadeIn();
    }

});

});

она во время пробования наполнять tabala категории у меня выходит следующая ошибка:

QueryException in Connection.php line 624: SQLSTATE [23000]: Integrity constraint violation: 1452 Cannot add or update в child row: в foreign key constraint fails (biblioteca.categorias, CONSTRAINT categorias_libro_id_foreign FOREIGN KEY (libro_id) REFERENCES libros (id)) (SQL: insert into categorias (updated_at, created_at) оцени (2017-01-05 19:06:28, 2017-01-05 19:06:28))

если кто-то может идентифицировать, что я врежу, он ему был бы благодарен за то, чтобы он упомянул об этом

2
задан 06.01.2017, 01:54
0 ответов

Проверь условие чужеземного ключа, возможно ты стараешься записывать в таблице деталь перед тем, как записывать в главной таблице.

0
ответ дан 03.12.2019, 17:51