Laravel 5.6 работает на: PHP 7.2, MariaDB 10.3
Когда я хочу установить внешний ключ для моей таблицы, я просто продолжаю принимать эту ошибку.
В других таблицах все идентификационные переменные, определенные самим Laravel и автоматически увеличивающиеся без знака
Итак, моя миграция такова:
public function up()
{
Schema::create('user_roles', function (Blueprint $table) {
$table->increments('id');
$table->unsignedInteger('role_id');
$table->unsignedInteger('user_id');
$table->foreign('role_id')->references('id')->on('roles')->onDelete('cascade');
$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
});
}
Ошибка выглядит так :
SQLSTATE [42000]: Синтаксическая ошибка или нарушение прав доступа: 1064 У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии сервера MariaDB, для правильного синтаксиса для использования около ') для удаления cascade' в lin e 1 (SQL: alter table user_roles
add constraint user_roles_role_id_foreign
external key ( role_id
) ссылки roles
() для удаления каскада)
Ошибки, брошенные Ларавелем :
1 PDOException: :( "SQLSTATE [42000]: ошибка синтаксиса или нарушение прав доступа: 1064 У вас есть ошибка в синтаксисе SQL, проверьте руководство, соответствующее версии сервера MariaDB, для правильного синтаксиса для использования рядом с) для удаления cascade ' в строке 1 ") C: xampp htdocs order-project vendor laravel framework src Illuminate Database Connection.php: 452
2 PDO :: prepare ("alter table user_roles
add constraint external user_roles_role_id_foreign
key ( role_id
) reference roles
() on delete cascade") C: xampp htdocs order-project vendor laravel framework src Illuminate Database Connection.php: 452
php,laravel,laravel-5,