MySQL: установить значение с помощью математической операции - PullRequest
0 голосов
/ 25 апреля 2019

Как установить значение столбца tmp с помощью математической операции?

UPDATE mytable SET mycol = order / 100 + bar * 1000;

Эта команда возвращает следующее сообщение об ошибке:

ERROR 1064 (42000): 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 'foo / 100 + bar * 1000)' at line 1

===

В исходном вопросе имя моей колонки order было переименовано foo.

Ответы [ 2 ]

0 голосов
/ 25 апреля 2019

Вам необходимо добавить скобку в формулу.Это foo / 100 + bar * 1000 вернет другое значение без скобки.Например:

-- lets say foo=5 and bar=6
5 / 100 + 6 * 1000 = 6000.0500
5 / (100 + 6) * 1000 = 47.1698
5 / ((100 + 6) * 1000) = 0.0000

-- if your formula look like this ((100 + bar)/foo) * 1000
((100 + 6)/5) * 1000 = 21200.0000

Вы должны сначала убедиться, какую математическую формулу вы хотите выполнить, а затем заключить ее в скобки.

0 голосов
/ 25 апреля 2019

Вы правильно пишете оператор запроса на Mysql.Это не вызвало никакой ошибки.Для столбцов tmp, bar и foo требуется один и тот же тип данных

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...