Hallo,
ich habe ein Problem mit folgendem Code:
var mysql = require('mysql');
var TEST_DATABASE = 'nodejs_mysql_test';
var TEST_TABLE = 'test';
var mclient = mysql.createClient({
user: 'root',
password: 'foo',
});
mclient.query('USE '+TEST_DATABASE);
setInterval(function() {
var sql = 'INSERT INTO '+TEST_TABLE+' VALUES(123)';
mclient.query(sql);
}, 500);
Das Testskript soll alle 500ms (in node.js, aber vielleicht gilt das auch so für JS) eine Zeile in die MySQL Tabelle 'test' schreiben. Funktioniert aber nicht, es gibt auch keinen MySQL Error.
Wenn ich aber:
var mclient = mysql.createClient({
user: 'root',
password: 'foo',
});
mclient.query('USE '+TEST_DATABASE);
mit in die setInterval Funktion schreibe, funktioniert es, aber dann wird nach 500ms jedesmal eine neue MySQL-Client Instanz erzeugt, was unnötige Zeit kostet.
Wenn ich "mysql.createClient" nicht jedesmal aufrufe, funktioniert es nicht, aber 'var mclient' ist trotzdem eine gültige Instanz.
Was mache ich falsch?
Danke,
dr.house