NodeJS и MariaDB, заполнитель внутри запросов - PullRequest
0 голосов
/ 14 ноября 2018

Я довольно новичок в Мариадб. Я хочу выполнить оператор вставки с заполнителями для значений, но и для столбцов. Я пробовал? и для столбцов, но все еще получая сообщение об ошибке, синтаксис sql неверен:

let query = "INSERT INTO Users(??, ??, ??, ??, ??) VALUES(?,?,?,?,?);"
let data = [ 'email','forename', 'location','longitude','latitude', 
         ,'test','test','test',1,1 ]
conn.query(query, data)

Что здесь не так?

Спасибо

1 Ответ

0 голосов
/ 14 ноября 2018

единственное, что не поддерживается в сравнении с соединителем mysql, это "Экранирующие идентификаторы запросов" .

Причины:

  • Во-первых, я не вижу варианта использования для этого. Есть ли!?
  • Я бы предпочел иметь стандартный синтаксис SQL MariaDB только с ? в качестве заполнителя.

Причиной использования только ? в качестве заполнителя является то, что, когда соединитель будет использовать двоичный протокол (еще не реализованный), соединителю не придется анализировать команду SQL, а затем работать лучше.

Но вы можете переписать команду как:

let query = "INSERT INTO Users(`email`,`forename, `location`,`longitude`,`latitude`) VALUES(?,?,?,?,?);"
let data = ['test','test','test',1,1]
conn.query(query, data)

Если вы видите какой-то вариант использования для этого. не стесняйтесь создавать проблемы на github

...