2016-09-15 2 views
0

Я получаю синтаксическую ошибку, выполняющую sqlite3 в моем проекте узла. Если это имеет значение, я запускаю его на рабочей станции Cloud9. Думаю, мой код довольно прост.Sqlite3/Синтаксическая ошибка узла в Cloud9

var fs = require('fs'); 
var fileGens = 'generators.db'; 

var existsGens = fs.existsSync(fileGens); 

if(!existsGens) { 
    console.log("Creating DB file 'generators'..."); 
    fs.openSync(fileGens, 'w'); 
} 

var sqlite3 = require('sqlite3').verbose(); 
var dbGens = new sqlite3.Database(fileGens); 

dbGens.serialize(function() { 
    if(!existsGens) { 
    console.log('Creating db...'); 
    } 
    dbGens.run("CREATE TABLE TerrainFrequencies (Primary TEXT, Secondary TEXT, Tertiary TEXT, WildCards TEXT)"); 
    dbGens.run("INSERT INTO TerrainFrequencies VALUES (?, ?, ?, ?)", 'Water', 'Hills', 'Forest', 'Mountains,Desert'); 

    console.log('About to select *'); 
    dbGens.all("SELECT * FROM TerrainFrequencies", function(err, row) { 
    console.log('Selected...'); 
    console.log(row); 
    }); 
}); 

dbGens.close(); 

я запустить его с помощью узла index.js, и моя ошибка ...

Creating DB file 'generators'... 
Creating db... 
About to select * 
events.js:141 
    throw er; // Unhandled 'error' event 
    ^

Error: SQLITE_ERROR: near "Primary": syntax error 
    at Error (native) 

Заранее спасибо!

ответ

0

Первичное - это зарезервированное имя ключевого слова/столбца в sqlite. Весь день бил головой о клавиатуру, решил через две минуты после того, как я опубликовал. Спасибо, что это резиновая утка, StackOverflow!

Смежные вопросы