Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Чего хочет MySQL?! :-( Арифметика ячейками собственными средствами базы.

ну этот Гуру (4140), на голосовании 5 лет назад
UPDATE `table` SET `field` = 'SELECT TIMEDIFF('2019-05-20 16:50:09', '2019-05-20 17:05:23')' WHERE `table`.`id` = 3
___________________________

1 errors were found during analysis.
An alias was previously found. (near ":09" at position 76)

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '2019-05-20 16:50:09', '2019-05-20 17:05:23')' WHERE `table`.`id` = 3^' at line 1
____________________________

А какой правильный синтаксис, если я хочу средствами мускула посчитать разницу дат и забить её в специальную дейтайм-ячейку?
Голосование за лучший ответ
Александр Искусственный Интеллект (301742) 5 лет назад
MySQL хочет чтоб ты думал что пишешь, а не тупо копировал код откуда-то ещё.

убери ковычки которые ты поставил вокруг SELECT(....)

и ты пишешь про какой-то там "дейтайм-ячейку", а сам делаешь SET в колоку `field`
ну этотГуру (4140) 5 лет назад
Дык это общая логика любого прграммизма - если в месте мне нужен результат на условиях, то я и пишу поставь в [МЕСТО] (!) (запиши в переменную, напр) [ФОРМУЛА], если [УСЛОВИЯ]. Ну или, если условия, поставь в место. Обычная иерархия действий.

А мускул какой-то контуженный из 1985 года персонаж, обозначающий классы сортами кавычек. Ну, не нужны там кавычки вокруг селекта для формулы, ну и запиши туда строку из букв про селект (или ответь, что строка не лезет по формату ячейки, я сам разберусь с ошибкой.

Нет, блин, поставь в ячейку "ы" - это одно, поставь в ячейку "если гараж продан, то ы, иначе э" это другое, но не как-то логически другое, а другое, сука, по кавычкам. И угадай ещё, по минуткам или по апострофикам, и шрифт крупнее сделай.
Похожие вопросы