Приветствую!
Есть задача: вставить в таблицу данные, если два поля в этой таблице не принадлежат условиям(в таблице есть дата прибытия и выезда и надо чтобы новая запись не могла пересечься с предыдущей по датам)
Я начал с такого кода:
INSERT INTO `occupation`(`id`, `arrival`, `departure`, `clientid`) SELECT 3, '2017-12-4', '2017-12-14', 1 FROM `occupation` WHERE 1
Не понимаю почему, но даже в пустую таблицу он почему-то ничего не добавляет.
В будущем расширил до:
INSERT INTO `occupation`(`id`, `arrival`, `departure`, `clientid`) SELECT ?, ?, ?, ? FROM `occupation` WHERE NOT EXISTS (SELECT * FROM `occupation` WHERE `arrival` >= ? AND `departure` <= ? AND `id` = ?)
Но и этот код, конечно не работает(тем более его надо дополнять, учитывая еще 2 условия с датами, когда одна из дат попадает в промежуток, а вторя лежит вне него).
P.S. Может где-то криво написал, прошу прощения за это... Всем спасибо!
Вот так должно работать
INSERT INTO `occupation` (`id`, `arrival`, `departure`, `clientid`)
SELECT * FROM (SELECT $id, $arrival, $departure, $clientid) as tmp
WHERE NOT EXISTS (
SELECT * FROM `occupation` WHERE `id` = $id AND
($arrival BETWEEN `arrival` AND `departure` OR
$departure BETWEEN `arrival` AND `departure`)
)
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
На сервере есть файлxlsx кодированный в UTF-8 есть скрипт который отдает его на скачивание пользователю, файл скачанный файл при открытии выдает...
В общем, я не сильно силен в php и тем более модулей, но встал вопрос что сокеты быстрее curl, по этому хотелось бы узнатьС помощью сокетов можно...