Простейший запрос

Rango

Новичок
Доброго времени суток, уважаемые программисты.

Столкнулся я с необходимостью выборки данных из строк и записью результирующих данных в таблицу.
Манипуляция MySQL происходит через php.
Допустим, что существует таблица "users", в которой хранятся данные в столбцах:
ID; name; password...
и существует другая таблица "log", в которой есть столбцы:
userid; username; move...

Мне необходимо выбрать ID из таблицы users, используя значение name и записать в таблицу log, в столбец userid.
Я понимаю, что это очень простая процедура, но времени на поиски необходимого синтаксиса у меня нету. Если существует способ сохранения результата в переменную, для дальнейшего использования в запросах, будет даже лучше.
P.S. значения столбцов ID,name из таблицы users равны значениям столбцов userid, username в таблице log.
 

Rango

Новичок
Задам более простой вопрос...
Как сохранить результирующее значение выборки в переменную?
Допустим, выборка такая:
PHP:
SELECT id FROM users WHERE name = '$login'
 

baev

‹°°¬•
Команда форума
В MySQL уже давно можно использовать вложенные запросы.

времени на поиски необходимого синтаксиса у меня нету
— наймите того, у кого есть.
 

Rango

Новичок
В MySQL уже давно можно использовать вложенные запросы.
Вы имеете в виду INSERT ... SELECT?
Если да, то этот "прием" мне не подходит, т.к. после этого запроса в эту же таблицу должны быть внесены другие данные.
 

Rango

Новичок
Скорее всего я не правильно понимаю синтаксис запроса.
Сперва идет запрос:
PHP:
mysql_query("INSERT INTO log (username,gold,rub,ua,usd,data) VALUES ('$login',$gold,$rub,$ua,$usd,now())")
Этот запрос заполняет данными почти всю таблицу, за исключением столбца userid
Следом идет запрос, заполняющий данными только столбец userid
PHP:
MySQL_Query ("INSERT INTO log (userid)
SELECT id
FROM users 
WHERE name = '$login'");
Когда идет выполнение второго запроса - все столбцы таблицы log принимают значение 0, за исключением столбца userid, который принимает правильное значение.
Возможно ли через эти запросы заполнить таблицу целиком? Пожалуйста, тапками не закидывайте. Я только учусь.
 

baev

‹°°¬•
Команда форума
Rango, Вы словами опишите: какие данные и куда Вы пытаетесь записать, и как они между собой связаны.
 

Rango

Новичок
Существует в базе данных 2 таблицы: users и log. Столбцы из этих таблиц есть в первом топике.
Я хочу, чтобы при выполнении определенного действия, указывая имя пользователя (уникальное значение столбца name из таблицы users), выполнялось заполнение таблицы log.
Допустим, мне необходимо учесть, сколько и когда было принято от пользователя средств. Для этого создана таблица log, в которой фиксируется эта информация.
Я указываю имя пользователя "Rango" (которое существует в таблице users и имеет собственный, уникальный ID), и указываю количество средств.
После обработки формы идет запись в таблицу log, где username = name(из таблицы users), а в столбце userid должно быть значение, равное значению столбца ID из таблицы users. Вот именно это я и пытаюсь сделать. Т.е. записать существующее значение из 1 таблицы в другую.
Имя пользователя вводится вручную, а вот ID пользователя необходимо найти с помощью выборки данных и сохранения результата в переменную (или в другой объект) для дальнейшей обработки.
P.S.
(username(log)=name(users)
userid(log)=ID(users))
 

antson

Новичок
Партнер клуба
Rango
если Вы формируете запрос по вставке в лог из пхп, то значение поля userid для этой вставки Вам нужно узнать до формирования запроса, а не править поле в базе после.

>Я указываю имя пользователя "Rango" (которое существует в таблице users и имеет собственный, уникальный ID), и указываю количество средств.
т.е
Вы первым шагом сделайте запрос на получение ид для ранго из таблицы,
а потом полученное значение ид подставляйте в команду инсерт вместе с количеством средств.

А то что вы пытаетесь сделать, это как штаны через голову надевать (теоретически возможно, даже специальные модели таких штанов для грудничков делают )
 

Rango

Новичок
Благодарю Вас за дельные советы. Но оказалось все гораздо проще.
Я просто сделал выборку из таблицы users и сохранил результат в переменную.
Всего доброго. Тему можно закрывать.
 

pdbq

pdbq
если для тебя вопрос еще актуален - пиши в личку, помогу.
 
Сверху