mysql – 错误:ER_BAD_FIELD_ERROR:节点js中“字段列表”中的未知列’asd123′

我在尝试更新phpmyadmin中的表时收到此错误

有谁能告诉我什么是错的

这是表

create table ms_registereduser(userID Varchar(10),socketID Varchar(255));

这是我的server.js

var http = require("http");

var mysql = require('mysql');

var connection = mysql.createConnection({
  host     : 'localhost',user     : 'root',password : '',database : 'pushnotificationdb'
});

var userID = "1234567890",socketID = "asd123";


http.createServer(function(request,response) {

  response.writeHead(200,{"Content-Type": "text/plain"});
  response.write("Hello World");

  response.end();
}).listen(1111);

connection.connect();

    connection.query('callpushnotificationdb.spUpdateSocketID('+userID+','+socketID+');').on('end',function()
        {
          console.log('User '+ userID+' has updated his socketID to '+socketID);
        });

connection.end();

这是我的spUpdateSocketID,带有’//’作为分隔符

DROP PROCEDURE IF EXISTS spUpdateSocketID//

CREATE PROCEDURE spUpdateSocketID(IN userID Varchar(10),IN socketID Varchar(255))
BEGIN
set @userID = userID;
set @socketID = socketID;
set @s = CONCAT('UPDATE ms_registereduser SET socketID = @socketID WHERE userID = @userID');
PREPARE stmt FROM @s;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
END//

如果我尝试像这样在phpmyadmin中调用该过程

call pushnotificationdb.spUpdateSocketID('1234567890','asd123');

它工作,但如果我尝试从node.js调用它它给我这样的错误错误:ER_BAD_FIELD_ERROR:’字段列表’中的未知列’asd123′,请帮助

最佳答案
尝试以下查询,变量’userID’和’socketID’被修改为“’userID’”和“’socketID’”:

connection.query(
  'callpushnotificationdb.spUpdateSocketID("'+userID+'","'+socketID+'");'
)
.on('end',function(){
  console.log('User '+ userID+' has updated his socketID to '+socketID);
});

相关文章

在正式开始之前,我们先来看下 MySQL 服务器的配置和版本号信...
> [合辑地址:MySQL全面瓦解](https://www.cnblogs.c...
物理服务机的CPU、内存、存储设备、连接数等资源有限,某个时...
1 回顾 上一节我们详细讲解了如何对数据库进行分区操作,包括...
navicat查看某个表的所有字段的详细信息 navicat设计表只能一...
文章浏览阅读4.3k次。转载请把头部出处链接和尾部二维码一起...