2015-03-26 4 views
0

Я пытаюсь добавить строку в существующей таблице, я хочу, чтобы сделать его уникальным, когда я пытаюсь изменить в PHPMyAdmin это говорит # 1062 - Дублировать запись «0» ключ «мобильного»CakePHP 3,0 пагинации примера

Какой код мне поможет?

+0

Похоже, что на вашем столе есть дубликат. Сначала вам нужно исправить это. –

+0

'SHOW CREATE TABLE' и показать нам' INSERT'. –

ответ

0

Это означает, что у вас есть две записи, у которых оба имеют «0» в столбце mobile. Вы не можете заставить столбец быть УНИКАЛЬНЫМ, потому что в настоящее время в нем есть уникальные данные. Решение заключается в разрешении конфликта, но есть ли это хорошая идея и как именно это сделать, зависит от вашего дизайна базы данных. Действие этого довольно просто (просто отредактируйте эту строку и назначьте новое значение для «мобильного»), но в зависимости от вашего дизайна, который может повредить некоторые данные.

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

Если у вас нет первичного или уникального ключа в этой таблице, phpMyAdmin не отображает функцию редактирования «сетки», поэтому, если это так, вы можете либо написать немного SQL, чтобы обновить строку напрямую, или временно добавить новый столбец, сделать его автоинкрементным первичным ключом, отредактировать через интерфейс phpMyAdmin, а затем удалить временный столбец автоинкремента (это то, что я сделал бы, я просто проверил его, и мне потребовалось около 30 секунд, чтобы добавить столбец и ключ, отредактируйте строку и удалите временный столбец).

Смежные вопросы