将 Node.js 与 MySQL 连接的问题
Posted
技术标签:
【中文标题】将 Node.js 与 MySQL 连接的问题【英文标题】:Problem with connecting Node.js with MySQL 【发布时间】:2019-04-21 02:10:12 【问题描述】:我目前正在开发 c9 IDE,当我运行下面的代码时,它给了我错误。如何解决此问题?
app.js
var mysql = require("mysql");
var connection = mysql.createConnection(
host: 'localhost',
user: 'poream3387',
database: 'join_us'
);
var q = 'SELECT CURTIME() as time, CURDATE as date, NOW() as now';
connection.query(q, function (error, results, fields)
if (error) throw error;
console.log(results);
);
connection.end();
命令:
node app.js
错误:
/home/ubuntu/workspace/node_modules/mysql/lib/protocol/Parser.js:80 抛出错误; // 重新抛出非 MySQL 错误 ^
错误:ER_BAD_FIELD_ERROR:“字段列表”中的未知列“CURDATE” 在 Query.Sequence._packetToError (/home/ubuntu/workspace/node_modules/mysql/lib/protocol/sequences/Sequence.js:47:14) 在 Query.ErrorPacket (/home/ubuntu/workspace/node_modules/mysql/lib/protocol/sequences/Query.js:77:18) 在 Protocol._parsePacket (/home/ubuntu/workspace/node_modules/mysql/lib/protocol/Protocol.js:278:23) 在 Parser.write (/home/ubuntu/workspace/node_modules/mysql/lib/protocol/Parser.js:76:12) 在 Protocol.write (/home/ubuntu/workspace/node_modules/mysql/lib/protocol/Protocol.js:38:16) 在套接字。 (/home/ubuntu/workspace/node_modules/mysql/lib/Connection.js:91:28) 在套接字。 (/home/ubuntu/workspace/node_modules/mysql/lib/Connection.js:502:10) 在 emitOne (events.js:96:13) 在 Socket.emit (events.js:188:7) 在 readableAddChunk (_stream_readable.js:176:18) -------------------- 在 Protocol._enqueue (/home/ubuntu/workspace/node_modules/mysql/lib/protocol/Protocol.js:144:48) 在 Connection.query (/home/ubuntu/workspace/node_modules/mysql/lib/Connection.js:200:25) 在对象。 (/home/ubuntu/workspace/app.js:12:12) 在 Module._compile (module.js:570:32) 在 Object.Module._extensions..js (module.js:579:10) 在 Module.load (module.js:487:32) 在 tryModuleLoad (module.js:446:12) 在 Function.Module._load (module.js:438:3) 在 Module.runMain (module.js:604:10) 运行时 (bootstrap_node.js:389:7)
【问题讨论】:
您在 CURDATE 查询中缺少括号。应该是var q = 'SELECT CURTIME() as time, CURDATE() as date, NOW() as now';
【参考方案1】:
我认为,问题在于不通过添加括号使 CURDATE 成为函数调用,这与@Jamie D 指出的相同
【讨论】:
以上是关于将 Node.js 与 MySQL 连接的问题的主要内容,如果未能解决你的问题,请参考以下文章
node.js 服务器是不是应该与 mysql 实例建立单一连接?
无法在 GitHub 操作中将 Node.js 与 Docker MySQL 数据库连接
Node.js、discord.js 和 MySQL - ER_NO_SUCH_TABLE:表 'NAME' 不存在