Articles of mysql

更正node-mysql的UPDATE查询语法

我有一个数组“标志”,我已经改变了我的函数中的数组的值。 现在我需要更新到数据库,但我无法这样做。 我已经在桌上有了旗帜专栏。 我不知道如何更新表中variables标志的值 如果我尝试 connection.query('UPDATE visentry SET flag = "flag" ', function(err,rows,fields) { } 它用值标志更新列标志。 如果我尝试以下 var sql = 'UPDATE visentry SET flag= ?'; connection.query(sql,[{flag:flag}], function(err,rows,fields) { 它给出了一个错误 错误:ER_PARSE_ERROR:您的SQL语法中有错误; 检查与您的MySQL服务器版本相对应的手册,在第1行附近使用正确的语法 任何build议,请

在node.js中的mysql查询,检查是否找不到匹配

我如何检查在mysql(node.js)中找不到匹配项? mysql.query("select * from table1 where name = 'abcd'", function(error, result, field) { if(error) { exist(error); //No error } else if(result) { console.log(result); //displays '[]' exist(null, result); } else { exist(null, null); //It is never execute } }); function exist(error, result) { if(result) console.log("Test:"+result); //Executed and displays 'Test:' } 我的数据库不包含名称='abcd'。 那么,如何检查查询是否不匹配呢?

如何使用mysql包得到nodejs的结果?

首先,我连接数据库并selectDB: var defaultOptions = { user: "root", pwd:'admin', db:"britcham_dev_local", server:"local", // Maybe we don't need this variable. }; var client = new Client(); client.user = defaultOptions.user; client.password = defaultOptions.pwd; client.connect(function (error, results) { // }); client.query('USE ' + defaultOptions.db, function (error, results) { // }); 其次,我用客户端对象查询: var self = this; var this.users; client.query("SELECT * FROM […]

Mongodb / Couchdb而不是MySQL(从PHP切换到节点)

我使用后端的PHP / MySQL / Solr和前端的Javascript / jQuery / Backbone完成了我的大部分Web开发工作。 我已经编写了一些Node应用程序,但是使用了MySQL,而不是使用Mongodb / Couchdb,这是很多Node教程/书籍使用的。 你会开始使用Mongo / Couch而不是MySQL,因为大多数开发Node的人都在使用它? MySQL似乎为我工作得很好,我不清楚切换到Mongo / Couch的优势。 现在我开始一个网站,其中“前端”应用程序服务器是PHP / MySQL,并且数字运算服务器在Node中。 我坚持使用PHP来服务“前台”的原因是因为我非常适合在我的PHP框架中开发。 select节点的原因是因为会有大量空闲/等待时间的同时任务以秒为单位。 这必须是高度可扩展的。 将存储在数据库中的东西就像通常的东西,你将存储在MySQL表中

Node.js的mysql事务

任何人都可以提供一个如何在Node.js中实现MySQL事务的例子。 我正在尝试使用node-mysql驱动程序和node-mysql-queue。 据我所知,使用node-mysql-queue大大降低了Node.js的asynchronous性质,因为新的查询必须等到现有的查询完成。 为了解决这个问题,有人试图将node-mysql-queue和node-mysql的连接池function结合起来。 即为每个新的http请求启动一个新的mysql连接,并在单个连接上启动事务队列?

在MySQL中使用sequelize自动递增id

我在NodeJS中有以下模型和sequelize和一个MySQL数据库: var Sequelize = require('sequelize'); var User = sequelize.define('user', { id: { type: Sequelize.INTEGER, autoIncrement: true, primaryKey: true }, … }; 我想用下面的代码添加一个新的用户到我的数据库: sequelize.transaction().then(function(t) { User.create({/* User data without id */}, { transaction: t }).then(function() { t.commit(); }).catch(function(error) { t.rollback(); }); }); 之后,我得到了下一个错误: Executing (47f19f7b-a02d-4d72-ba7e-d5045520fffb): START TRANSACTION; Executing (47f19f7b-a02d-4d72-ba7e-d5045520fffb): SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ; […]

Compoundjs无法与jugglingdb-mysql一起运行

试图用mysqltestingcompoundjs,但是失败了。 我的系统是Debian 7,具有以下版本的nodejs&npm $ node -v v0.10.13 $ npm -v 1.3.4 这是我如何安装compoundjs sudo npm install -g复合 sudo npm install -g jugglingdb –save sudo npm install -g jugglingdb-mysql 复合inittesting应用程序 – db mysql 光盘testapp npm安装 $ node server.js 警告:JugglingDB适配器“mysql”没有安装, 所以你的模型将无法正常运行: npm安装jugglingdb-mysql /srv/www/playground/node/testapp/node_modules/jugglingdb/lib/railway.js:55 如果(!schema.adapter)抛出新的错误('适配器未定义'); ^ 错误:适配器未定义 在init(/srv/www/playground/node/testapp/node_modules/jugglingdb/lib/railway.js:55:36) 在CompoundServer.initialize(/srv/www/playground/node/testapp/node_modules/jugglingdb/index.js:31:19) 在CompoundServer.EventEmitter.emit(events.js:98:17) 在CompoundServer.initCompound(/srv/www/playground/node/testapp/node_modules/compound/lib/compound.js:123:14) 在CompoundServer.initCompoundServer [as init](/srv/www/playground/node/testapp/node_modules/compound/lib/server/compound.js:53:29) 在/srv/www/playground/node/testapp/node_modules/compound/lib/compound.js:67:18 在process._tickCallback(node.js:415:13) 在Function.Module.runMain(module.js:499:11) 在启动(node.js:119:16) 在node.js:901:3 […]

SailsJS – 创buildlogging时如何指定string属性长度而不会出错?

我正在使用与MySQL配对的Sails 0.9.8,并想要做这样的事情 localhost:1337/player/view/<username of player> 代替 localhost:1337/player/view/<id of player> 所以我把这样的东西放在模型中: 'username' : { type: 'string', unique: true, minLength: 4, maxLength: 32, required: true }, 但是,每当我运行帆升降机时,我都会遇到一个错误: { [Error: ER_TOO_LONG_KEY: Specified key was too long; max key length is 767 bytes] code: 'ER_TOO_LONG_KEY', index: 0 } 所以在我运行模块之后,我发现这是因为默认情况下,Sails在数据库中给出的stringtypes属性长度为255。 给定的长度可以用“大小”来覆盖,但是在创buildlogging时会导致另一个错误。 'username' : { type: 'string', unique: true, minLength: 4, […]

Socket.io私人消息通知

嘿有stackoverflow! 我正在开发一个Laravel3的社区,现在我正在尝试实现一些Facebook风格的私人消息。 我做了编码部分,但我和我的朋友是如此同意添加实时消息通知。 我做了我的研究,我不能说我发现了一个好的文章,其中一些开始于oh you know everything about matrix so lets socketsocketsocketsocketsocket我们感到困惑如何开始,从哪里开始,这是什么,无论如何,许多这个说go with MongoDB never use MySQL again. 老兄是什么? 我正在使用MySQL我在Laravel创build了一个很好的私人消息系统,我想添加实时通知! 我想要做的就是 用户A发送消息给用户B. 消息插入到privmsg表中。 sockets或任何你build议的,告诉UserB的浏览器有一个来自UserA的+1新消息 用户B看到有一个未读的消息,而不刷新他的页面,并点击阅读它。 我怎样才能做到这一点? Socket.io的最佳select呢? 如果是的话,我该如何使用它? 任何片段将是如此之大! 或关于我的情况教程:) 我真的很感激

MySQL数据库的ISO 8601时间戳:MySQL错误的date时间值

错误日志: {[错误:错误的date时间值:'2012-08-24T17:29:11.683Z'列1'机器人_refreshed_at']数字:1292,sqlStateMarker:'#',sqlState:'22007',消息:'不正确datetime value:\'2012-08-24T17:29:11.683Z \'for'\'robot_refreshed_at \'at row 1',sql:'INSERT INTO users(id,name,count_moments,count_likes,count_followers,rob ot_refreshed_at,robot_count_followers )值('1834084','NNNyingzi','5','0','0','2012-08-24T17:29:11.683Z',' 0)',setMaxListeners:[Function],emit:[Function],addListener:[Function],on:[Function],once:[Function],removeListener:[Function],removeAllListeners:[Function] [function]} 我在我的Node.js使用这段代码 if s instanceof Date return s.toISOString() 并在数据库中更新它们。 SQL插入expression式如下所示: INSERT INTO users (id,name,count_moments,count_likes,count_followers,rob ot_refreshed_at,robot_count_followers) VALUES (\'1834084\',\'NNNyingzi\',\'5\',\ '0\',\'0\',\'2012-08-24T17:29:11.683Z\',\'0\') 我做错了什么? 我刚刚从服务器中的表中使用PHPMyAdmin复制表。 非常感谢。