я добавил новую колонку, supervisor_id, к таблице USERS, что мне нужно, чтобы заполнить из таблицы же ПОЛЬЗОВАТЕЛЕЙ:MySQL Update Column из другого столбца в одной таблице
ID | USERNAME | SUPERVISOR_USERNAME | SUPERVISOR_ID
1 | jdoe | jsmith | NULL
2 | jsmith | dduck | NULL
Как бы я Переберите таблицы установить supervisor_id = идентификатор, например:
ID | USERNAME | SUPERVISOR_USERNAME | SUPERVISOR_ID
1 | jdoe | jsmith | 2
2 | jsmith | dduck | NULL
Я попытался следующие, но это, очевидно, только установить supervisor_id где supervisor_username пользователя было его собственное имя пользователя.
update users
set supervisor_id = id
where supervisor_username = username
Насколько велика таблица? Просто сделайте это вручную? – KyleK
Если таблица не такая большая, тогда я создаю временную копию пользователей, а затем создаю новую таблицу на основе пользователей и copy_of_users в 'CREATE TABLE USERS_IDS (id int, USERNAME VARCHAR (xxxx), SUPERVISOR_ID int) ; ' – dougEfresh
@Pakk, я считаю, что запрос будет работать, только если супервизор имеет имя в качестве имени пользователя. – dougEfresh