Laravel — нарушение ограничения целостности: 1062 Повторяющаяся запись «0» для ключа «PRIMARY» [дубликат]MySql

Форум по Mysql
Ответить Пред. темаСлед. тема
Anonymous
 Laravel — нарушение ограничения целостности: 1062 Повторяющаяся запись «0» для ключа «PRIMARY» [дубликат]

Сообщение Anonymous »

Я столкнулся с этой проблемой:

"SQLSTATE[23000]: нарушение ограничения целостности: 1062 Дублирующаяся запись '0' для ключа 'PRIMARY' ( SQL: вставка в роли (имя, business_ids, Guard_name, обновленный_at, созданный_at) значения (abcd#1234, 1234, web, 2025-01-06 13:29:42, 2025-01-06 13:29:42))"

Я использую библиотеку Spatie для создания ролей и возникновения вышеуказанной проблемы. Когда я регистрирую ошибку, она показывает, что идентификатор равен 0 и он дублируется. Я пробовал использовать DB::beginTransaction();, но это неэффективно. Мне нужны инструкции, как с этим справиться.

Код: Выделить всё

DB::beginTransaction();
$this->businessUtil->newBusinessDefaultResources($business->ids, $user->id);
DB::commit();

Код: Выделить всё

use Spatie\Permission\Models\Role;
public function newBusinessDefaultResources($business_ids, $user_id, $business_category_id=null)
{
$role = Role::create([ 'name' => 'abcd#' . $business_ids,
'business_id' => $business_ids,
'guard_name' => 'web', 'is_default' => 1
]);
$user->assignRole($role->name);

//Create Cashier role for a new business
$c_role = Role::create([ 'name' => 'abcde#' . $business_ids,
'business_ids' => $business_ids,
'guard_name' => 'web'
]);

//Create Tutor role for a new business
$p_role = Role::create(['name' => 'abcdef#' . $business_ids,
'business_ids' => $business_ids,
'guard_name' => 'web',
'is_default' => 1
]);
dd(1);
Похоже, проблема связана с автоматическим увеличением первичного ключа в вашей таблице ролей. Ошибка предполагает, что несколько записей пытаются использовать идентификатор 0, что нарушает ограничение первичного ключа.
Роли информационной таблицы:
Роли информационной таблицы
Я пробовал используя DB::beginTransaction();, но это неэффективно

Подробнее здесь: https://stackoverflow.com/questions/793 ... r-key-prim
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «MySql»