SQLSTATE [23000]: [Microsoft] [ODB C Driver 17 для SQL Server] [SQL Server] Невозможно вставить повторяющуюся строку ключа в объект 'dbo.users' с уникальным индексом - PullRequest
0 голосов
/ 07 августа 2020

Когда я пытаюсь вставить новый столбец в базу данных SQL сервера, я получаю эту ошибку

SQLSTATE [23000]: [Microsoft] [ODB C Driver 17 для SQL Сервер] [SQL Сервер] Невозможно вставить повторяющуюся строку ключа в объект 'dbo.users' с уникальным индексом 'users_api_token_unique'. Повторяющееся значение ключа - (). (SQL: вставить в значения [пользователей] ([имя], [адрес электронной почты], [пароль], [updated_at], [created_at]) (ibramin salah, ibra@gmail.com, $ 2y $ 10 $ laopDTNj9Ddzr4cf4a4ctuxYwra5raqm8TXXBS.Rc2wBH2mnf, 2020-08-07 08: 57: 49.077, 2020-08-07 08: 57: 49.077))

Моя схема таблицы

Schema::create('users', function (Blueprint $table) {
    $table->bigIncrements('id');
    $table->string('name');
    $table->string('email')->unique();
    $table->timestamp('email_verified_at')->nullable();
    $table->string('password');
    $table->boolean('adminCreation')->default(0);
    $table->rememberToken();
    $table->timestamps();
});

Я использую Laravel 5.8 и 7.4.4 PHP Версия

Спасибо

1 Ответ

0 голосов
/ 07 августа 2020

Вы пытаетесь вставить новую запись / строку в таблицу, которая имеет уникальное ограничение (которое, в свою очередь, создает уникальный индекс) в электронной почте.

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...