在使用 AWS Lambda 和 Node.js 进行 MySQL 查询时,有几个常见的问题可能导致 connection.query
方法没有执行。以下是一些可能的解决方法和代码示例:
const mysql = require('mysql');
exports.handler = async (event, context) => {
const connection = mysql.createConnection({
host: 'hostname',
user: 'username',
password: 'password',
database: 'database',
});
// 建立连接
connection.connect();
// 查询
connection.query('SELECT * FROM table', (error, results, fields) => {
if (error) throw error;
// 处理查询结果
console.log(results);
// 关闭连接
connection.end();
});
};
connection.query('SELECT * FROM table', (error, results, fields) => {
if (error) {
console.error(error);
// 关闭连接
connection.end();
return;
}
// 处理查询结果
console.log(results);
// 关闭连接
connection.end();
});
exports.handler = async (event, context) => {
try {
// 建立连接
connection.connect();
// 查询
const results = await new Promise((resolve, reject) => {
connection.query('SELECT * FROM table', (error, results, fields) => {
if (error) reject(error);
else resolve(results);
});
});
// 处理查询结果
console.log(results);
} catch (error) {
console.error(error);
} finally {
// 关闭连接
connection.end();
}
};
请根据您的具体情况调整代码和错误处理方式。