такс, выяснил, что конструкция вида
Код: Выделить всё
condition = ${lookup mysql{INSERT IGNORE INTO `domain_whitelist` \
(`domainname`, `domain_ip`, `added_timestamp`, \
`last_mail_timestamp`, `mail_count`) \
VALUES (LCASE('${quote_mysql:$sender_address_domain}'), \
'${quote_mysql:$sender_host_address}', \
UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), '1') ON \
DUPLICATE KEY UPDATE \
`last_mail_timestamp` = UNIX_TIMESTAMP(), \
`mail_count` = `mail_count` + 1}}
в mysql 4.0 имеет вид 2 запросов:
Код: Выделить всё
INSERT IGNORE INTO `domain_whitelist`
(`domainname`, `domain_ip`, `added_timestamp`,
`last_mail_timestamp`, `mail_count`)
VALUES (('test.domain'),
'111.111.111.111',
UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), '1') ON
DUPLICATE KEY UPDATE
`last_mail_timestamp` = UNIX_TIMESTAMP(),
`mail_count` = `mail_count` + 1
и
Код: Выделить всё
UPDATE `domain_whitelist` SET `last_mail_timestamp` = UNIX_TIMESTAMP(),
`mail_count` = `mail_count` + 1 WHERE domainname=('test.domain')
теперь вопрос, а можно ли в кондишине выполнить сразу 2 запроса/команды?
я так понимаю, нужно в начате выполнить UPDATE, и если результат будет пустой(мол ничего не обновил), то тогда выполнить второй запрос INSERT.
такое возможно вообще сделать?