Tag: mysql

使用SQL返回参数为NULL的所有值?

我不确定什么是正确的方法来做到这一点。 我基本上想要返回所有的值,如果没有定义某个filter的值。 获取请求是这样的filter: url.com?filter1=abc&filter2=123&filter4=33 所以作为filter3没有定义我想要返回所有值,无论他们的filter3值是什么。 简单的逻辑权利。 但是,如果我尝试在SQL中实现,我卡住了。 SELECT * from TABLE_NAME WHERE filter1 = $1 AND filter2 = $2 AND filter3 = $3 AND filter4 = $4 。 我如何修改上面的SQL来响应未定义的/空值,并返回所有。 或者这是甚至是正确的策略。

ER_TRUNCATED_WRONG_VALUE:错误的date时间值

所以我最近完成了一个研究项目的申请。 这一切都很好,而我所剩下的就是将应用程序投入生产。 我使用的Node.js与MySQL(我知道,我们不喜欢,但有人得尝试它)。 我有一个socket聊天消息添加到消息表,其中包含文本,date时间等date时间设置为new Date() 。 现在,当我把应用程序放在生产服务器(重新安装依赖关系,mysql等)时,当我写消息时,我突然得到这个错误: Error: ER_TRUNCATED_WRONG_VALUE: Incorrect datetime value: '2017-06-01T09:45:06.253Z' for column 'message_datetime' at row 1 我在开发中没有得到这个错误,所以我问自己是否下载了不同版本的mysql …我做了: 发展: mysql Ver 14.14 Distrib 5.5.54, for debian-linux-gnu (i686) using readline 6.3 生产 mysql Ver 14.14 Distrib 5.7.18, for Linux (x86_64) using EditLine wrapper 消息表如下所示: CREATE TABLE message ( message_id INT AUTO_INCREMENT, message_sender_id VARCHAR(80) […]

为什么我从Docker节点应用程序获取ECONNREFUSED连接到localhost MySQL?

我有一个本地运行的MySQL服务器..它不在一个容器内。 我的应用程序将打到RDS,所以没有意义走这条路线。 我的应用程序能够打RDS没有问题,作为一个testing。 但显然我想为本地发展打一些本地的东西。 从我的terminal,我可以做mysql –user=root –password=password mydb成功。 因为我没有得到一个超时错误,从我的容器我可以ping 127.0.0.1:3306没有问题。 我也使用控制台,看到我肯定传递正确的信息,更新从RDS的值到本地运行的MySQL。

nodejs:mysql无法访问连接查询callback中的全局variables

以下是我的代码 我从客户端JavaScript发送数据对象到这个函数的数据打印它的值 在socket.on中 和 在socket.on – > connection.query(SQL,[],函数(错误,行){数据打印在这里}) 和 在socket.on – > connection.query(SQL,[],函数(错误,行){数据打印在这里}) – > connection.query(SQL,[],函数(错误,行){数据打印未定义}) socket.on('sendmessage', function (data) { var data = JSON.parse(data); console.log(data); if (data.cuserid != '' && users_connected.hasOwnProperty(data.cuserid) && fs.existsSync(users_connected[data.cuserid]['sessionfile'])) { sql = "update hired set echat='Y' where eid=? and jobid=? and jid=? and status in ('given','finished')"; connection.query(sql, [data.cuserid, data.jobid, data.userid], function […]

Bad handshake或ECONNRESET Azure Mysql Nodejs

已经有类似的报道,但是我不能解决这个问题。 我有一个express.js应用程序使用KNEX连接到Azure托pipe的MySQL数据库。 我可以完全从控制台命令或MySQL工作台连接到数据库。 但是,没有办法从我的节点应用程序实现相同。 我的连接对象是相同的: config.knex = require('knex')({ client: 'mysql', connection: { host: 'wineserver.mysql.database.azure.com', user: 'BurgerAndGreenBeans@wineserver', password: 'FromageDeChevre', database: 'gdpr', insecureAuth: true }, pool: { min: 0 }, debug: ['ComQueryPacket'] }); 每次我启动应用程序,我得到一个错误或另一个: #1 Unhandled rejection Error: read ECONNRESET at exports._errnoException (util.js:1050:11) at TCP.onread (net.js:582:26) ——————– at Protocol._enqueue (C:\Projects\gdpr\node_modules\mysql\lib\protocol\Protocol.js:141:48) at Protocol.handshake (C:\Projects\gdpr\node_modules\mysql\lib\protocol\Protocol.js:52:41) at Connection.connect (C:\Projects\gdpr\node_modules\mysql\lib\Connection.js:130:18) at […]

使用AWS Lambda在NodeJS中找不到MySQL

我有下面的代码,我想要执行。 我试过要求mysql和node-mysql,它们都给我同样的错误: 码: var AWS = require("aws-sdk"); var mysql = require("mysql"); exports.handler = (event, context, callback) => { try { console.log("GOOD"); } catch (error) { context.fail(`Exception: ${error}`) } }; 错误: { "errorMessage": "Cannot find module 'mysql'", "errorType": "Error", "stackTrace": [ "Function.Module._load (module.js:417:25)", "Module.require (module.js:497:17)", "require (internal/module.js:20:19)", "Object.<anonymous> (/var/task/index.js:2:13)", "Module._compile (module.js:570:32)", "Object.Module._extensions..js (module.js:579:10)", "Module.load (module.js:487:32)", "tryModuleLoad […]

asynchronous调用Node.JS上的mySql

所以,我试图在我的node.js项目asynchronousgetConnection和查询,因为我想只在我的查询后,我的回应。 这是代码, router.post('/', function(req, res, next){ var queryRows; con.getConnection(function(error, connection){ if(error){ }else{ connection.query('SELECT * FROM Tablee', function(error, rows, fields){ queryRows = rows; }); } }); res.render('home', {data:queryRows}); } 我想首先运行getConenction()和代码; 然后渲染。 我遵循了这个问题的确切解决scheme,但徒劳无功。 连接本身是不确定的; 所以查询返回错误。 我正在使用节点版本8来支持asynchronous和等待; 但是我无法得到结果。

无法读取节点JS中未定义的属性“名称”

我在Node js中是新的。 我正在尝试使用mysql在节点js中制作CRUD应用程序。 但我面临着我无法理解或处理的错误。 请帮忙。 并在adv。 我无法从ejs页面读取input字段值到server.js页面。 我的server.js文件在下面给出 // server.js var express = require('express'); var app = express(); var bodyParser = require('body-parser'); var mysql = require('mysql'); var con = mysql.createConnection({ host: "localhost", user: "root", password: "", database: "tuts_rest" }); // set the view engine to ejs app.set('view engine', 'ejs'); // about page app.get('/about', function(req, res) […]

如何使用Knex查找或创build?

就简单的用户注册而言,我怎样才能在用户名中查找或创build最佳性能? 猜测我需要使用原始查询,但我还没有如此精明的SQL。 或者,如果用户名已经存在,至less应该拒绝。

承诺中的exception处理

有时候构造一个承诺可能会有一个例外的情况,如数据库拒绝连接或数据库的无效主机名参数,例如: 在db.js中 const mysql = require('mysql'); module.exports.connect = (options) => { return new Promise((resolve, reject) => { try { const connection = mysql.createConnection(getDBConfig()); connection.connect(); resolve(connection); } catch (err) { throw new Error('Error connecting database'); } }); }; function getDBConfig() { const isProd = process.env.NODE_ENV === 'production'; const config = { debug: !isProd, host: 'localhost', user: […]