Здравствуйте!
Подскажите пожалуйста как составить запрос к БД что бы добавить определенное значение в таблицу, если его значение не существует.
DB:
CREATE TABLE IF NOT EXISTS `sites` (
`id` int(11) NOT NULL,
`site_url` varchar(255) NOT NULL,
`site_size_bytes` int(100) NOT NULL,
`site_platform` text NOT NULL,
`site_status` text NOT NULL,
`site_info_updated` datetime NOT NULL,
`domain_paid_till` date NOT NULL,
`additional_domains` text NOT NULL,
`site_paid_till` date NOT NULL,
`comment` longtext NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
ALTER TABLE `sites`
ADD PRIMARY KEY (`id`), ADD UNIQUE KEY `site_url_2` (`site_url`), ADD UNIQUE KEY `id` (`id`), ADD KEY `site_url` (`site_url`);
ALTER TABLE `sites`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
Query:
INSERT IGNORE INTO
sites (site_url, site_size_bytes, site_platform, site_status, site_info_updated)
VALUES
('$val[site_url]', '$val[site_size]', '$val[site_platform]', 'just added', '$current_datetime')
ON DUPLICATE KEY UPDATE
site_info_updated = '$current_datetime',
site_size_bytes = '$val[site_size]',
site_status = 'updated'
Суть: если
site_url не совпадает (отсутствует) с тем, что есть в массиве
$val[site_url], записывать значение
empty в
site_status.
Заранее благодарю за помощь желающим помочь!