![](/img/trans.png)
[英]Nodejs & sequalize mysql query to the database happens only once
[英]SQL syntax, nodejs sequalize, multiple lines at once
我試圖在啟動時用虛擬數據填充mysql db,但我一直遇到這個問題
Error: ER_PARSE_ERROR: You have an error in your SQL syntax; check the
manual that corresponds to your MySQL server version for the right
syntax to use near 'INSERT INTO Teachers
我試圖檢查該語法是否正確,並且大多數在線檢查器都告訴我這沒有錯。 但是盡管如此,它給了我這個錯誤。 但是,如果我嘗試通過mysql工作台查詢數據庫,則可以正常工作,並且可以毫無問題地插入數據。
const mysql = require('mysql')
const config = require('./config')
var con = mysql.createConnection({
host: config.db.options.host,
user: config.db.user,
password: config.db.password
})
let superScript = `
USE school;
INSERT INTO Teachers
(FirstName,LastName,Gender,Address,PhoneNumber,Email ,Facebook_ID
,Qualification, Good_at,Personal_Description,Teachering_Experience,Music_skill,Language_skill,Image_URL)
VALUES("Glennys","Looker","Male","125 Melbourne street",
"1234567890","abc123@gmail.com"
,"GlennysFB","Master","Piano"
,"I am a pianist and composer who has taught people of all ages and levels, including absolute beginners, adult students, and taking students through AMEB or VCE exams. "
," 7 Years Teaching Experience","Piano","English,Japanese"
,"https://segundadivisionweb.files.wordpress.com/2017/04/profesor- de-musica.jpg");`;
function createDB () {
con.connect(function (err) {
if (err) throw err
console.log('Connected!')
con.query(`CREATE DATABASE IF NOT EXISTS ${config.db.database}`,
function (err, result) {
if (err) throw err
console.log('Database created')
})
con.query(superScript, function (err, result) {
if (err) throw err;
console.log("1 record inserted");
});
})
}
我應該怎么做才能插入該數據?
不是程序員,但是AFAIK不能一次發出多個語句。
這樣嘗試(不使用USE語句):
let superScript = `
INSERT INTO school.Teachers
或將數據庫放入連接設置。
如果有人遇到相同的問題,這是解決方案
var con = mysql.createConnection({
host: config.db.options.host,
user: config.db.user,
password: config.db.password,
database: config.db.database,
multipleStatements: true
})
這將允許您在1個字符串中插入盡可能多的元素
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.