Невозможно вставить sha256 га sh в таблицу SQLite3 - NodeJs - PullRequest
0 голосов
/ 01 февраля 2020

Я создаю таблицу хэшей sha256 с использованием SQLite3 и NodeJs При попытке вставить целое и случайное ха sh я получаю следующую ошибку:

{ Error: SQLITE_ERROR: no such column: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 errno: 1, code: 'SQLITE_ERROR' }

Это источник для создания и вставки данных в таблицу

// * Create ~ Open Hashes Database
let db = new sqlite3.Database('./hashes.db', sqlite3.OPEN_READWRITE | sqlite3.OPEN_CREATE, (e => {
  if (e) {
    console.log('Failed to open/create hashes database')
  }

  console.log('Successfully opened / created')
}));

const hash = crypto.createHash('sha256').digest('hex');

// * 1 Create Database
db.run("CREATE TABLE hashes(seq INTEGER PRIMARY KEY, hash VARCHAR(255) NOT NULL)", (e) => {
  if (e) return console.log(e);
  console.log('Created database')
});

db.run(`INSERT INTO hashes VALUES (1, ${hash})`, (e) => {
  if (e) return console.log(e);
  console.log("successfully inserted", 1, hash);
})

Столбец 1 (Seq) представляет собой просто последовательное увеличенное целое число (1,2,3 ....), а второй столбец - это ha sh типа VARCHAR. .

1 Ответ

1 голос
/ 01 февраля 2020

Я думаю, проблема в том, что вы используете ha sh непосредственно в запросе, не определяя его как строку / varchar, поэтому sqlite считает, что это столбец.

db.run(`INSERT INTO hashes VALUES (1, "${hash}")`, (e) => {
  if (e) return console.log(e);
  console.log("successfully inserted", 1, hash);
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...