База данных:Обновление ID в базе данных
Таблица: новости
с колоннами: Уникальный и первичный ключ, который приросты авто под названием ID, содержание и название
Код:
-> Создание формы с текстовым полем, в котором пользователь может поместить его значение для ID и, таким образом, положение пункта
$form->textField("Position of the item item", "id", false, 30, false, getIfExists("id", $originalValues));
-> Сообщения новый ID как запрос к базе данных
$queryvalues["id"] = $_POST[ "id" ];
Это работает, когда я отправляю идентификатор, который не используется другим элементом. Однако, если я пытаюсь переписать идентификатор, это дает мне ошибку и ничего не меняет. Очевидно, мне нужно будет обновить идентификаторы, чтобы они увеличивали все конфликтующие идентификаторы и, таким образом, позволяли публиковать отредактированный идентификатор.
Меня раздражает то, как это делается. У меня возникла идея добавить индексный номер, который определяет позицию, а затем переключился на сортировку списка с идентификатором базы данных и изменение идентификатора в CMS сможет обновить его всякий раз, когда пожелает пользователь из CMS.
Однако я не слишком уверен, как подойти к этому и есть ли лучший вариант/решение.
Есть ли у кого-нибудь идеи/советы/подсказки?
Я пытался использовать ON DUPLICATE KEY UPDATE, но до сих пор мне не повезло.
EDIT:
Хорошо, так что заказ теперь работает. Я создал новый столбец «Позиция» и просто использовал его для упорядочивания элементов, и он отлично работает.
Однако, если я добавлю новый элемент с тем же положением, он поместит его в другое положение. Таким образом, в основном новый «0» отображается под старым «0», при этом используется один и тот же ключ. Любые предложения по устранению этого? Я думал об увеличении старого дубликата ключа. Но понятия не имею, как это будет работать точно.
Однако, если бы это не уникальным, не так, что конфликт из-за позицию дублировать «позицию» –
столбец идентификатора всегда должны быть уникальными. Если у вас есть дубликаты в столбце позиции, это не вызовет ошибок, оно просто поместит один над другим в зависимости от указанного порядка. – 472084
А, ладно. Наверное, я просто думаю слишком сложно. Спасибо за помощь. PHP/MySQL для меня новый, так как я больше в Java/C++ и т. Д. –