Я довольно новичок в mysql, и я пытаюсь встать и работать с ним в узле, используя node-mysql. Я создал простую таблицу следующим образом:node-mysql use default if null on insert
CREATE TABLE myTable (
id SERIAL,
display BOOLEAN NOT NULL DEFAULT 1,
active BOOLEAN NOT NULL DEFAULT 0
) DEFAULT CHARSET utf8 COLLATE utf8_bin;
Я вставка строк так:
db.query('INSERT INTO myTable SET ?', {
display: myObject.display,
active: myObject.active
}, callback);
Как говорят документы, узел-MySQL преобразует объект я передаю в ключевые пары значений , Это отлично работает, если определены myObject.display
и myObject.active
. Если один или оба нет, node-mysql пытается вставить NULL
в столбцы, что недопустимо. Я предполагал, что значение по умолчанию будет использоваться в этой ситуации, но оно выдает ошибку о значении NULL
. Поэтому мой вопрос:
1) Есть ли какой-нибудь специальный синтаксис для создания таблицы, которая будет использовать значение по умолчанию, когда задано значение null, или 2) Есть ли какой-то элегантный способ сделать это с помощью node-mysql, который не включает в себя кучу разбора объектов?
Не стесняйтесь расширять свой ответ, если вы видите что-то еще, что я мог бы улучшить. Моя большая цель - изучить лучший способ создания надежной, безопасной и сжатой вставки mysql в узле.
Вы объединяете утверждения 'INSERT' и' UPDATE'. – doublesharp