Значение не приводится к числу

167
08 января 2019, 19:40

Есть таблица:

CREATE TABLE `officers`
(
    ...
    `isOnline` TINYINT UNSIGNED DEFAULT 0,
    ...
);

При авторизации отправляю такой запрос:

UPDATE officers SET isOnline = 1 WHERE id = ${ id };

При выходе соответственно

UPDATE officers SET isOnline = 0 WHERE id = ${ id };

Однако когда я получаю данные из таблицы, то для разлогиненых пользователей isOnline получаю 0 (число), а вот для залогиненых " " (пустая строка).

Что я делаю не так?

Answer 1

Собственно, оказывается дело в поведении node.js, который переводит ответ из бд с типом данных BIT в свой тип данных, некий Buffer (столкнулся впервые).

При выводе в консоль значения rows[0].isOnline на экране отображается <Buffer 00> или <Buffer 01>. Я беру isOnline[0] и получаю нормальное число.

READ ALSO
Как правильно сделать выборку с двух таблиц?

Как правильно сделать выборку с двух таблиц?

Есть таблица gamefication http://prntscrcom/kwmqns В ней список всех "заданий" для пользователей

167
При каких условиях можно задавать для (* , html, body) display flex? И стоит ли это делать?

При каких условиях можно задавать для (* , html, body) display flex? И стоит ли это делать?

При каких условиях можно задавать для (* , html, body) display: flex? И стоит ли это делать? Так как хочется делать максимально гибко всеБлагодарю

178