#php #mysql
#php #mysql
Вопрос:
Я хочу вставить в таблицу community_players идентификатор сообщества и идентификатор игрока из соответствующих таблиц; «сообщества» и «пользователи», где выполняются следующие условия:
users.user_email И communities.admin = ‘steve.downs@gmail.com ‘ И communities.code = ‘HX99F9’
Это то, что у меня есть до сих пор….
INSERT INTO TABLE community_players (community_id, player_id)
FROM TABLE communities
JOIN TABLE users
ON id
WHERE users.user_email = 'steve.downs@gmail.com'
AND communities.admin = 'steve.downs@gmail.com'
AND communities.code = 'HX99f9'
Это 3 таблицы, о которых идет речь:
users
id | user_email | user_password | user_name
communities
id | name | code | admin
community_players
community_id | player_id
Комментарии:
1. Не могли бы вы, пожалуйста, добавить структуру ваших таблиц? Мы можем только спросить, как вызываются поля в ваших таблицах.
Ответ №1:
Должно выглядеть так:
INSERT INTO community_players (community_id, player_id)
SELECT communities.id, users.id
FROM communities INNER JOIN users ON communities.admin = users.user_email
WHERE users.user_email = 'steve.downs@gmail.com'
AND communities.code = 'HX99f9'
Комментарии:
1. Это приводит к следующей ошибке;: #1064 — У вас ошибка в вашем синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, на предмет правильного синтаксиса для использования рядом с ‘Сообщества ТАБЛИЦ ПРИСОЕДИНЯЮТСЯ К пользователям ТАБЛИЦЫ В сообществах.admin = users.user_email WHE’ в строке 3
2. Здорово, что это исправлено 🙂
Ответ №2:
Должно быть что-то вроде:
INSERT INTO community_players (community_id, player_id)
(SELECT communities.community_id, users.user_id
FROM TABLE communities
JOIN TABLE users ON id
WHERE users.user_email = 'steve.downs@gmail.com'
AND communities.admin = 'steve.downs@gmail.com'
AND communities.code = 'HX99f9'
)`
Но это трудно сказать, не зная схем баз данных сообществ таблиц и пользователей. Что звучит особенно странно, так это JOIN TABLE users ON id
часть… это сработает, только если в таблице сообществ есть поле, содержащее идентификатор пользователя (что может быть необычным в этом случае использования).
Комментарии:
1. Хорошо, не могли бы вы показать схему базы данных, пожалуйста? Без них трудно помочь, потому что никто не знает, как называются поля базы данных