[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: INSERT в две таблицы
kaww
Задача такая: Есть две таблицы users и status. Нужно сделать так, чтобы при регистрации нового пользователя (добавлении записи в тб users) в таблицу status записывалось : user_id = users.id , limit=25.
Думаю как - то так:

INSERT INTO users (username,email.....) VALUES ('$user','$email'....);

INSERT INTO status (user_id,value) SELECT id FROM user WHERE username='$user';


Как value присвоить значение и можно ли как-нибуть объединить эти 2 запроса?



Спустя 3 минуты, 50 секунд (2.02.2010 - 15:40) krasilich написал(а):
Так а что дожно быть в value?
Кстати, вместо вложеного SELECT можно использовать LAST_INSERT_ID().

Спустя 2 минуты, 55 секунд (2.02.2010 - 15:43) kaww написал(а):
В value - число , наприер 25

Спустя 7 минут, 55 секунд (2.02.2010 - 15:51) Ice написал(а):
Вообще, мне кажется,что в данном случае логичнее було бы использовать триггеры, срабатывающие при определённом условии.

Спустя 12 минут, 34 секунды (2.02.2010 - 16:04) sergeiss написал(а):
Цитата (kaww @ 2.02.2010 - 16:36)
INSERT INTO status (user_id,value) SELECT id FROM user WHERE username='$user';

Запрос заведомо неверный, т.к. вставляешь ты 2 колонки, а в селекте - одна колонка.

Плюс к этому, мне так почему-то кажется, что структура БД неверная. Иначе не приходилось бы в 2 таблицы сразу вставлять.

Спустя 11 минут, 34 секунды (2.02.2010 - 16:15) kaww написал(а):
Цитата
Запрос заведомо неверный, т.к. вставляешь ты 2 колонки, а в селекте - одна колонка.

Сбсно и был вопрос как переделать запрос smile.gif

Сделал так :
второй запрос:
INSERT INTO status (user_id,value) SELECT id,'25' FROM user WHERE username='$user';


Осталось загнать в один запрос )))
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.