Перейти к содержанию

Как проверить информацию из одной таблицы и обновить другую?


Рекомендуемые сообщения

Привет,

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

Например, если член в поле профиля пишет «студент», запрос получит идентификатор пользователя, сопоставит его с другой таблицей и включит его или ее в другую группу.

Кто-нибудь может указать мне дорогу, пожалуйста?

Спасибо!

Ссылка на комментарий
Поделиться на другие сайты

UPDATE first_table, second_table
    SET first_table.group=second_table.group
    WHERE first_table.type=second_table.type;

second_table like type->group ('aaa' => 1, 'bbb'=>2 and so on). 

Ссылка на комментарий
Поделиться на другие сайты

22 minutes ago, Desti said:

UPDATE first_table, second_table
    SET first_table.group=second_table.group
    WHERE first_table.type=second_table.type;

second_table like type->group ('aaa' => 1, 'bbb'=>2 and so on). 

Здорово, @Desti

Не могли бы вы привести мне реальный пример? У меня есть:

Table 1: core_pfields_content // Columns: member_id, field_2 (Student, Teacher)
Table 2: core_members // Columns: member_id, member_group_id

Это что-то вроде:

UPDATE core_pfields_content, core_members
    SET core_members.member_group_id=6
    WHERE core_pfields_content.member_id=core_members.member_id AND core_pfields_content.field_2='Teacher';

Ссылка на комментарий
Поделиться на другие сайты

UPDATE core_pfields_content p, core_members m
   SET m.member_group_id = 6
 WHERE p.member_id = m.member_id
   AND p.field_2 = 'Teacher'

Я пытаюсь это сделать, но получаю следующую ошибку:

SQL Error [1064] [42000]: (conn=296263370) You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'UPDATE core_pfields_content p AND core_members m

Ссылка на комментарий
Поделиться на другие сайты

Теперь работает! Я попытался запустить его в phpMyAdmin, и он работал нормально.

Однако как я могу превратить код в триггер (trigger) MySQL?

Can't update table 'core_members' in stored function/trigger because it is already used by statement which invoked this stored function/trigger (1442)

 

Ссылка на комментарий
Поделиться на другие сайты

Сорри, я не работаю с триггерами. 

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...