#php #mysql #doctrine
#php #mysql #doctrine
Вопрос:
У меня была проблема с doctrine, которую я решил, но я хотел бы знать причину проблемы. Я пытался вставить новый регистр, но doctrine пыталась вставить идентификатор, который уже существует, каждый раз, когда я пытался, идентификатор, который doctrine пыталась вставить, увеличивался на единицу, я пытался, поскольку идентификатор увеличивается до первого идентификатора, которого не существует в таблице
$result = $storage->executeSQL($query);
$updated_answer = new SurveyDatabaseAnswer();
if (!empty($result))
$updated_answer->setId($result[0]);
$updated_answer->setClient($client);
$updated_answer->setSurvey($survey);
$updated_answer->setAnswer($answer);
empty($result) ? $storage->persist($updated_answer) : $storage->merge($updated_answer);
$storage->flush();
Как doctrine's
генератор идентификаторов или что угодно… работает так, как это вызвало мою проблему??
Комментарии:
1. Это должно обрабатываться базой данных, а не кодом. Установлен ли ваш
id
столбец в качестве первичного ключа и с автоматическим увеличением?2. вы удаляете строки в то же время?
3. да, столбец установлен в качестве первичного ключа с автоинкрементом, и я тем временем не удалял строки