SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 03.06.2012 22:57:01

100matolog
Участник
Зарегистрирован: 03.06.2012
Сообщений: 5

Mysql запрос, помогите нарисовать запрос

Задача - перебросить из таблицы 1 в таблицу 2 имена и имейлы

Таблица 1 - содержит только поля name и email
Таблица 2 - содержит те же поля, но есть один ньюанс, штатно , при добавлении name и email, инкрементируется поле contact_id и проставляется user_id.

Мне надо вставить данные из таблицы 1 в таблицу 2 начиная инкрементировать contact_id со значения 15 и с user_id 14

Подскажите пожалуйста как корректно составить запрос.

Отредактированно 100matolog (03.06.2012 23:43:21)

Неактивен

 

#2 03.06.2012 23:04:42

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5831

Re: Mysql запрос, помогите нарисовать запрос

set @a=15, @b=14;
insert into table2 (name, email, contact_id, user_id) select name, email, @a:=@a+1, @b:=@b+1 from table1;


P.S. Если используйте phpadmin (или query browser), то
insert into table2 (name, email, contact_id, user_id) select name, email, @a:=@a+1, @b:=@b+1 from table1, (select @a:=15, @b:=14) x;

Неактивен

 

#3 03.06.2012 23:41:31

100matolog
Участник
Зарегистрирован: 03.06.2012
Сообщений: 5

Re: Mysql запрос, помогите нарисовать запрос

vasya написал:

set @a=15, @b=14;
insert into table2 (name, email, contact_id, user_id) select name, email, @a:=@a+1, @b:=@b+1 from table1;


P.S. Если используйте phpadmin (или query browser), то
insert into table2 (name, email, contact_id, user_id) select name, email, @a:=@a+1, @b:=@b+1 from table1, (select @a:=15, @b:=14) x;

прошу прощения , но user_id инкрементировать не надо. значение user_id должно оставатся постоянным
впрочем разбрался

это будет вот так

insert into table2 (name, email, contact_id, user_id) select name, email, @a:=@a+1, @b from table1, (select @a:=15, @b:=14) x;

Отредактированно 100matolog (03.06.2012 23:52:04)

Неактивен

 

#4 03.06.2012 23:59:44

100matolog
Участник
Зарегистрирован: 03.06.2012
Сообщений: 5

Re: Mysql запрос, помогите нарисовать запрос

а не подскажете еще, мне в этом же запросе надо вставлять текущую дату и время - чтото типа такого
insert into contacts (name, email, contact_id, user_id, changed) select name, email, @a:=@a+1, @b, @t  from 4service_all, (select @a:=13, @b:=14, @t=date+time) x;  ?

Неактивен

 

#5 04.06.2012 00:04:18

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5831

Re: Mysql запрос, помогите нарисовать запрос

А зачем вам переменные для добавления константы?
Текущая дата/время - функция now()

Неактивен

 

#6 04.06.2012 00:06:06

100matolog
Участник
Зарегистрирован: 03.06.2012
Сообщений: 5

Re: Mysql запрос, помогите нарисовать запрос

vasya написал:

А зачем вам переменные для добавления константы?
Текущая дата/время - функция now()

вот так ?
insert into contacts (name, email, contact_id, user_id, changed) select name, email, @a:=@a+1, @b, now() from 4service_all, (select @a:=13, @b:=14 ) x;

Да. Спасибо за помощь

Отредактированно 100matolog (04.06.2012 00:11:42)

Неактивен

 

#7 04.06.2012 00:39:46

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5831

Re: Mysql запрос, помогите нарисовать запрос

А зачем вам @b и @b:=14? Почему просто не написать сразу 14 вместо @b?

Неактивен

 

#8 04.06.2012 10:15:31

100matolog
Участник
Зарегистрирован: 03.06.2012
Сообщений: 5

Re: Mysql запрос, помогите нарисовать запрос

vasya написал:

А зачем вам @b и @b:=14? Почему просто не написать сразу 14 вместо @b?

о как. не знал что там можно.))

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson