Tag: mysql

从Heroku连接到AWS MySQL DB时发生ETIMEDOUT错误

所以我按照这里描述的所有步骤: https : //devcenter.heroku.com/articles/amazon_rds 当我运行heroku config命令,我得到: DATABASE_URL: mysql2://[username]:[password]@hostname… 所以我在./config文件夹中添加了证书 当我尝试login时,连接超时,这是什么在日志中: 2014-01-25T16:26:59.037529+00:00 app[web.1]: Express server listening on port 44600 2014-01-25T16:29:18.687464+00:00 heroku[api]: Add DATABASE_URL config by jason.mogera@outlook.com 2014-01-25T16:29:18.735263+00:00 heroku[api]: Release v11 created by jason.mogera@outlook.com 2014-01-25T16:29:18.882191+00:00 heroku[web.1]: State changed from up to starting 2014-01-25T16:29:21.439095+00:00 heroku[web.1]: Starting process with command `node app.js` 2014-01-25T16:29:22.778653+00:00 heroku[web.1]: Stopping all processes with SIGTERM […]

如果select为null,则插入MySQL以避免双向重复

我build立一个数据库,以保持我的应用程序的用户之间的友谊。 我用来与MySQL实例通信的服务器是使用Node.js(Express)编写的。 我的表“友谊”主要由两个INT组成,这两个INT对应于(外键)到用户ID。 我想避免双向重复(1,2对2,1),所以我需要写一个查询,它会做到以下几点: INSERT INTO friendships f (id_1, id_2) VALUES (?, ?) IF (SELECT * FROM friendships s WHERE s.id_1=? AND s.id_2=?) IS NULL ; 显然这个不是真的有用。 当然,如果最后两个问号与第一个问号相比,我们会得到相反的值,并在id(id_1,id_2)上使用UNIQUE键。 这类问题的通常答案是“只需按大小排列你的ID以避免重复”,这是一个很好的答案。 但在我的情况下,我想logging谁发送的朋友请求(和谁批准),而不使用任何额外的variables(和额外的查询)。 另外,我不想为此使用代码,以避免“并发”问题。 谢谢!

sails-mysql没有select数据库

我已经使用了这个相当多的东西,看着堆栈溢出的其他解决scheme,但没有find任何解决我的问题。 当定义一个模型使用mysql而不是磁盘时,我得到以下错误 verbose: Registering model `users` in Waterline (ORM) with definition :: { identity: 'users', tableName: 'users', connections: [ { pool: true, connectionLimit: 10, waitForConnections: true, adapter: 'sails-mysql' } ], config: { host: 'localhost', port: 3306, user: 'root', password: 'password', database: 'sailsapp' }, attributes: { name: 'string', email: 'string', phone: 'string' }, globalId: 'users', introduce: […]

无法连接到nodejs中的数据库?

我正在读这个,并尝试使用节点j连接到MYSQL数据库。这是我的程序 var mysql = require('mysql'); var connection = mysql.createConnection({ host : "localhost", User : "root", password: "" }); connection.connect(); connection.query("use test"); var strQuery = "select * from chat"; connection.query( strQuery, function(err, rows){ if(err) { throw err; }else{ console.log( rows ); } }) connection.destroy( ); 我没有得到任何错误,但也无法得到任何输出

NodeJS – 如何插入多行到MySQL

我试图插入几个(hundres /数千)的logging到MySQL数据库。 我的问题是,我不是很确定怎么做最好的方法。 例: function saveData(data, callback) { var dataLength = data.length, saved = []; for (var i = 0; i < dataLength; i++) { db.query("INSERT INTO table VALUES (?, ?, ?)", data[i], function(err, res) { if (err) { // … } saved.push(res.insertId); }); } } 问题是,所有数据保存后(保存[]​​包含所有的ID)我需要传递这个数组到一个callback。 很明显,我不能马上这样做……我必须等待所有的疑问。 问题:我应该使用for循环还是recursion执行(下一个插入将被调用之前完成),我应该检查如果saved.length === dataLength,然后返回数组或有一些更好的方法怎么做?

在MySQL表中的阿拉伯文字?

我有一个小问题。 Mysql支持阿拉伯语的权利。 当我在表中存储数据,它是正常的,一切工作正常,但是当我发出一个SQL来检索数据。 我得到的阿拉伯文字为? 分数。 我已经改变了表格和列的字符集,但仍然是同样的问题。 我正在使用节点快递框架。

Sequelize错误 – lodash没有方法“模板”

我刚刚通过npm安装了Sequelize和MySQL模块,并且遇到了一个错误。 我可以成功查询我的模型,但试图创build一个新的模型实例导致query-generator.js文件中的错误。 我的代码: var Sequelize = require('sequelize') , sequelize = new Sequelize('databasename', 'username', 'password'); var User = sequelize.define('users', { email: Sequelize.STRING, fname: Sequelize.STRING, lname: Sequelize.STRING, }); // WORKS User.find(1) .success(function(user) { console.log('User found'); }). error(function(err) { console.log('Error locating user', err); }); // FAILS User.create({ email : 'test@example.com', fname : 'John', lname : 'Doe' }) .success(function(user) […]

bookshelfJS:idAttribute指定替代ID名称

我已经将idAttribute行添加到此代码中,希望能够为我的id字段指定一个替代名称: bookshelf.ApiUser = Bookshelf.Model.extend({ tableName: 'users', idAttribute: 'userID' }); 但它打破了我的节点项目。 只要我的ID字段被命名为“ID”,该项目的工作; 我怎么能命名id字段userID并让bookshelfjs知道该怎么办?

在NodeJS中进行MySQL查询的最佳实践

我很新的nodeJS,什么是最好的方式来实现SQL查询.. 当我在NodeJS中执行mysql插入操作时,我需要查询是否存在值,然后我需要执行额外的查询来获取1个字段的最大值。 一切都有callback,并依靠一个查询来执行,然后再转到下一个。 这变得非常混乱,尤其是因为我必须通过函数中的所有callback函数。 我正在考虑创build存储过程,以保持逻辑清洁.. this.get = function(data, callback, getMaxOrder, parentScope){ var val = db.query('select * from my_table where ?', data, function(err, result) { if (err) throw err; callback(data, result, getMaxOrder, parentScope); }); } this.getMaxOrder = function(data, callback, parentScope){ var val = db.query('select max(`order`) as maxOrder from my_table where some_attr = ?', [data.some_attr], function(err, result) […]

Nodejs中的date时间转换

我在MySQL数据库中有一个名为"event_timestamp"的DATETIME字段,它具有以下值: 2014-07-23 12:31:00 当我查询数据库时(我使用SAILS,使用了水线ORM,具体是find()函数),结果对象显示的值是“2小时” results.event_timestamp : Wed Jul 23 2014 14:31:00 GMT+0200 (EEST) 我如何处理这个问题,我尝试在Mysql和Nodejs中设置时区,但是无济于事。