2014-05-04 41 views
0

我的代碼:的NodeJS和mysql-節點,並沒有數據庫的變化

var mysql  = require('mysql'); 
var connection = mysql.createConnection({ 
    host  : '192.168.2.20', 
    user  : 'test', 
    password : '123123123', 
    database : 'dbtest', 
}); 

connection.connect(function(err) { 
    // connected! (unless `err` is set) 
}); 

var query = connection.query('INSERT INTO posts (title) VALUES("data1");'); 

每次我使用MySQL工作臺我從來沒有看到任何變化或導致運行該SELECT * FROM dbtest.posts;

我在做什麼錯誤,NodeJS使用mysql-node沒有正確編輯我的數據庫?

編輯:

admin$ node debug test.js 
< debugger listening on port 5858 
connecting... ok 
break in test.js:1 
    1 var mysql  = require('mysql'); 
    2 var connection = mysql.createConnection({ 
    3 host  : '192.168.2.20', 
debug> 

我一定在呼喚我的文件有問題?它們保存在node_modules下,並且該文件與node_modules位於同一根目錄中

+1

你從Node.js的得到一個錯誤碼?請注意,您需要傳遞迴調。 – SLaks

+0

傳遞迴調?當我從控制檯運行節點test.js時,似乎沒有出現任何錯誤。 –

+0

如果您在'connect'回調中嘗試查詢,會發生什麼情況? – Joe

回答

0

您無法在示例中插入代碼中的數據,可能是因爲您的MySQL服務器系統變量設置爲設置爲false

你可以在這種情況下,做的是這個變量設置爲true(見德docs)或改變代碼強制提交,如:

connection.query('INSERT INTO posts (title) VALUES("data1");', function(err, result) { 
    if (err) { 
    connection.rollback(function() { 
     throw err; 
    }); 
    } 
    connection.commit(function (err) { 
    if (err) { 
     connection.rollback(function() { 
     throw err; 
     }); 
    } 
    console.log('Commited!'); 
    }); 
}); 
+0

@Frank這個答案有幫助嗎?你解決了你的問題嗎? –