2015-09-28 9 views
-1

У меня есть 2 стола на db. Первая таблица:Как я могу вставить данные в таблицу с sql соединения?

пользователи

идентификатор | имя | почта | пароль | группа

второй таблице

оценки

идентификатор | имя | оценка

Идея это получить имя от пользователей, использующих идентификатор (этот идентификатор уже знает, потому что я получаю это по php), затем вставляем счет в таблицу с использованием имени obtai с идентификатором.

Я полагаю, что я могу сделать с внутренним соединением между пользователями и результатами.

Как я могу это сделать?

+1

Как только вы получите имя пользователя с помощью SELECT, вы можете просто добавить запись классическим способом, который вам известен. – Federkun

+0

Вам не нужно присоединяться .. вы можете напрямую добавить в таблицу баллов, так как вы уже получили имя пользователя. – Japongskie

ответ

2

Согласен. Вы можете просто использовать это:

INSERT INTO scores values (null, (select name from users where users.id= 1),100); 

Замените счет и идентификатор на значения, которые вы получаете. Предположим, у вас есть автоматическое увеличение ваших идентификаторов.

+0

Спасибо !, и если я хочу обновить значение после? мне нужно использовать предложение обновления ?, как я это делаю? – user3565613

+0

@ user3565613 В PHP-коде вы можете просто обновить оператор sql такими параметрами, как «insert» в значениях баллов (null, (выберите имя от пользователей, где users.id = «. $ UserIid.»), «. $ Score. ")" ' –

3
Insert into scores(id, name, score) 
    select ID, name, score(that you can pass) 
    from users 
    where id = (parameter pass by PHP) 
+0

Это лучшее решение, потому что все столбцы перечислены в' insert'. –

Смежные вопросы