NodeJS连接SQL Server成功但DELETE查询无法执行问题求助
问题分析与修复
核心错误点:
- DELETE语法错误:SQL的DELETE语句不需要加
*,带*属于语法错误,正确写法是DELETE FROMstd_listWHERE name='meshkat'。 - query方法调用错误:代码里用
con.query=(sqlquery, function(...))是赋值操作,而非调用方法,导致查询根本没执行,程序卡在连接成功状态。 - 连接配置字段错误:mysql模块的密码配置项是
password,不是pass,虽当前显示连接成功,但该错误可能引发后续问题,建议修正。
修复后的代码:
var mysql = require('mysql'); var dbconnect = { host: 'localhost', user: 'root', password: '', // 修正为password字段 database: 'school' } var con = mysql.createConnection(dbconnect); con.connect(function (error) { if (error) { console.log('连接失败'); } else { console.log('连接成功'); deletedata(con); } }); function deletedata(con) { // 修正DELETE语句,移除多余的* let sqlquery = "DELETE FROM `std_list` WHERE name='meshkat'"; // 修正query调用方式,去掉错误的赋值运算符= con.query(sqlquery, function (error) { if (error) { console.log("数据删除失败"); console.error(error); // 打印错误详情,方便排查 } else { console.log('数据删除成功'); } }); }
额外提示:
- 在错误回调中打印
error对象,能获取具体报错信息,更快定位问题。 - 若实际操作的是SQL Server,应使用
mssql模块而非mysql模块,当前代码仅适用于MySQL数据库,注意区分两者。
内容的提问来源于stack exchange,提问作者Meshkat Rangon
相关产品推荐
相关产品推荐

