我正在尝试在nodejs中使用mysql插入values
。我编写了以下代码并通过npm安装了MySQL支持,但由于这个问题,我可以将INSERT插入到表中。
我的代码;
var mysql = require('mysql');
var values=randomValueHex(8);
var sql = "INSERT INTO `activationkeys`(`activationKey`, `productId`)
VALUES ( values ,'3')";
con.query(sql, function (err, result) {
if (err) throw err;
console.log("1 record inserted");
});
终端上的我的错误:
错误:ER_PARSE_ERROR:您的SQL语法中有错误;检查与您的MySQL服务器版本对应的手册,以便在''3'''
附近使用正确的语法我该如何解决这个问题?
答案 0 :(得分:1)
而不是
var sql = "INSERT INTO `activationkeys`(`activationKey`, `productId`)
VALUES ( values ,'3')";
请试试这个
var sql = "INSERT INTO `activationkeys`(`activationKey`, `productId`)
VALUES ( " + values + " ,'3')";
提供的值是字符串
答案 1 :(得分:1)
为什么使用后引用作为列名?我们在列名中不需要它。您可以使用var sql = "INSERT INTO activationkeys (activationKey, productId) VALUES ( " + values + " ,'3')";
运算符在列值上创建动态SQL查询,如下所示:
develop
答案 2 :(得分:0)
import sys
import os
from PyQt5.QtWidgets import *
class ErrorWindow(QMessageBox):
def __init__(self):
super().__init__()
self.setWindowTitle("Application Crashed")
message = ("Fatal error occurred and application was terminated.\n\n"
"Crash log was created at:\n" +
os.getcwd() + "\crash.log.\n\n"
"Please send log to ***@***.com")
self.setText(message)
self.setIcon(QMessageBox.Critical)
self.show()
def main():
app = QApplication(sys.argv)
ex = ErrorWindow()
sys.exit(app.exec_())
main()
目前没有任何方式在SQL查询中使用它。
什么是values
?它是整数还是字符串?
然而,您需要在字符串中连接values变量。
values
答案 3 :(得分:0)
另外一个更正values
变量必须像'" + values + "'
这样给出。这是定义为变量的最正确方法。否则,您提供" + values + "
这样的内容,可能会出现类似Error: ER_BAD_FIELD_ERROR: Unknown column 'xxxxxx' in 'field list'
的错误。我的代码是
var sql = "INSERT INTO `activationkeys`(`activationKey`, `productId`) VALUES ( '" + values + "' , 3 )";