Jump to content

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

Featured Replies

Posted
comment_173141

Привет,

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

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

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

Спасибо!

comment_173143

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). 

  • Author
comment_173145
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';

  • Author
comment_173146

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

  • Author
comment_173149

Теперь работает! Я попытался запустить его в 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)

 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.


Guest
Ответить в этой теме...

Последние посетители 0

  • No registered users viewing this page.