Как обновить таблицу данных случайным образом?

#mysql #sql

#mysql #sql

Вопрос:

У меня есть две таблицы:

  • subject с columns id помощью и n_contact_id .

  • n_contact со столбцами id , firstname , lastname , и secondname .

Пожалуйста, помогите обновить n_contact_id в таблице subject, но случайным образом:

 UPDATE subject sub set n_contact_id = ...
  

Комментарии:

1. Не нужно выделять жирным шрифтом весь этот текст.

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

Ответ №1:

Этот код сделает это там, где вы знаете идентификатор темы, которую хотите изменить. Просто вставьте идентификатор объекта (вручную или с помощью извлеченной переменной) в переменную SUBJECT_ID_HERE.

 UPDATE subject as sub,
(
    SELECT id FROM n_contact order by RAND() LIMIT 1
) as temp
SET n_contact_id = temp.id WHERE sub.id = SUBJECT_ID_HERE
  

Единственное предостережение заключается в том, что RAND() работает медленно для таблиц с исключительно большим количеством строк, но для небольших таблиц подойдет просто отлично.