Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Прошу консультации в написании хитрого запроса / 8 сообщений из 8, страница 1 из 1
17.07.2014, 18:08:04
    #38699549
100matolog
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прошу консультации в написании хитрого запроса
Есть таблица Users
в ей живут почтовые пользователи
В таблицу ходит почтовый сервер для авторизации юзеров и сортировки входящей почты
Задача - нужно переселить часть пользователей из одного домена в другой
Часть из них уже работают с доменом domain_id = 9.

Нужный домен имеет айди domain_id = 9

Есть условие
если значение поля domain_id не равно 9 и поле type = local
то
взять из поля localpart данные и создать новую запись с параметрами
инкремент поля user_id предыдущего значения на 1 (*) , domain_id = 9, localpart= $localpart , username = $localpart@domain.com, clear=password, uid=26, gid=26, smtp=/var/mail/exim/domain.com/$localpart/Maildir, pop=/var/mail/exim/domain.com/$localpart, realname=$localpart

*В базе более 900 юзеров - на данный момент последнее значение поля user_id=937. Соответственно добавляя новую строку, а по сути нового юзера, надо увеличивать это значение.

Буду признателен если кто-либо покажет пример запроса который сможет реализовать указанные выше условия.
Спасибо
...
Рейтинг: 0 / 0
17.07.2014, 18:09:15
    #38699551
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прошу консультации в написании хитрого запроса
Покажите DDL таблицы.
...
Рейтинг: 0 / 0
17.07.2014, 18:51:20
    #38699606
100matolog
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прошу консультации в написании хитрого запроса
miksoftПокажите DDL таблицы.
Простите - что показать? Не понял сокращения.
...
Рейтинг: 0 / 0
17.07.2014, 18:53:32
    #38699607
100matolog
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прошу консультации в написании хитрого запроса
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
users | CREATE TABLE `users` (
  `user_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `domain_id` mediumint(8) unsigned NOT NULL,
  `localpart` varchar(192) CHARACTER SET utf8 NOT NULL DEFAULT '',
  `username` varchar(255) NOT NULL DEFAULT '',
  `clear` varchar(255) DEFAULT NULL,
  `crypt` varchar(48) DEFAULT NULL,
  `uid` smallint(5) unsigned NOT NULL DEFAULT '65534',
  `gid` smallint(5) unsigned NOT NULL DEFAULT '65534',
  `smtp` varchar(255) DEFAULT NULL,
  `pop` varchar(255) DEFAULT NULL,
  `type` enum('local','alias','catch','fail','piped','admin','site') NOT NULL DEFAULT 'local',
  `admin` tinyint(1) NOT NULL DEFAULT '0',
  `on_avscan` tinyint(1) NOT NULL DEFAULT '0',
  `on_blocklist` tinyint(1) NOT NULL DEFAULT '0',
  `on_complexpass` tinyint(1) NOT NULL DEFAULT '0',
  `on_forward` tinyint(1) NOT NULL DEFAULT '0',
  `on_piped` tinyint(1) NOT NULL DEFAULT '0',
  `on_spamassassin` tinyint(1) NOT NULL DEFAULT '0',
  `on_vacation` tinyint(1) NOT NULL DEFAULT '0',
  `enabled` tinyint(1) NOT NULL DEFAULT '1',
  `migrated` tinyint(1) NOT NULL DEFAULT '0',
  `flags` varchar(16) DEFAULT NULL,
  `forward` varchar(255) DEFAULT NULL,
  `maxmsgsize` mediumint(8) unsigned NOT NULL DEFAULT '0',
  `quota` int(10) unsigned NOT NULL DEFAULT '0',
  `realname` varchar(255) CHARACTER SET utf8 DEFAULT NULL,
  `sa_tag` smallint(5) unsigned NOT NULL DEFAULT '0',
  `sa_refuse` smallint(5) unsigned NOT NULL DEFAULT '0',
  `tagline` varchar(255) DEFAULT NULL,
  `vacation` mediumtext CHARACTER SET utf8,
  `comment` varchar(255) DEFAULT NULL,
  `unseen` tinyint(1) NOT NULL DEFAULT '0',
  PRIMARY KEY (`user_id`),
  UNIQUE KEY `username` (`localpart`,`domain_id`),
  KEY `local` (`localpart`)
) ENGINE=MyISAM AUTO_INCREMENT=1051 DEFAULT CHARSET=latin1 

|
...
Рейтинг: 0 / 0
18.07.2014, 13:28:10
    #38700302
100matolog
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прошу консультации в написании хитрого запроса
ping ?
...
Рейтинг: 0 / 0
18.07.2014, 16:27:26
    #38700563
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прошу консультации в написании хитрого запроса
100matologинкремент поля user_id предыдущего значения на 1сделайте это поле auto_increment
а по поводу самого запроса - читайте про оператор INSERT ... SELECT
...
Рейтинг: 0 / 0
18.07.2014, 17:52:39
    #38700674
Диклевич Александр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прошу консультации в написании хитрого запроса
tanglir,

так оно и так уже AUTO_INCREMENT, судя по DDL таблицы.
...
Рейтинг: 0 / 0
18.07.2014, 17:53:03
    #38700676
100matolog
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прошу консультации в написании хитрого запроса
tanglir,

оно и так аутоинкремент
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Прошу консультации в написании хитрого запроса / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]