![](/img/trans.png)
[英]ER_PARSE_ERROR when inserting row into MySQL database using node.js
[英]Error: ER_TABLE_EXISTS_ERROR: when connecting with mysql using node.js
我收到错误:ER_TABLE_EXISTS_ERROR:尝试使用 node.js 连接 mysql 时出现错误。 我完全是使用带有节点的 sql 数据库的初学者。 已成功创建所有表。 但我仍然收到此错误。 我找不到导致此错误的原因。 我该如何解决这个问题。 谢谢!
const con = mysql.createConnection({
host: "localhost",
user: "root",
password: "",
database: "discussions",
});
con.connect((err) => {
if (err) {
throw err;
}
let usql =
"CREATE TABLE users (id INT AUTO_INCREMENT PRIMARY KEY, name TEXT, profile TEXT)";
con.query(usql, (err, result) => {
if (err) {
throw err;
}
console.log("User Table created");
});
let csql =
"CREATE TABLE comments (id INT AUTO_INCREMENT PRIMARY KEY, comment TEXT, upvotes INT)";
con.query(csql, (err, result) => {
if (err) {
throw err;
}
console.log("Comments Table created");
});
let rsql =
"CREATE TABLE replies (id INT AUTO_INCREMENT PRIMARY KEY, reply TEXT, upvotes INT)";
con.query(rsql, (err, result) => {
if (err) {
throw err;
}
console.log("Replies Table created");
});
let sql =
"SELECT users.name AS user, comments.id AS comments FROM users JOIN comments ON users.comment_id = comments.id";
con.query(sql, (err, result) => {
if (err) {
throw err;
}
console.log(result);
});
let msql =
"SELECT comments.id AS comment, replies.id AS replyies FROM comments JOIN replies ON comment_id.reply_id = replies.id";
con.query(msql, (err, result) => {
if (err) {
throw er;
}
console.log(result);
});
});
正如@Heiko 在评论部分并根据您的代码所说。 每次连接到数据库时,您的代码都会创建一个表。 第一次它会很好,它会为你创建表格。 但是在那之后,当您运行代码时,它会再次尝试创建这些表,但是这些表已经按照错误所说的那样创建。
所以请尝试使用以下语句
因此您的代码应如下所示
const con = mysql.createConnection({
host: "localhost",
user: "root",
password: "",
database: "discussions",
});
con.connect((err) => {
if (err) {
throw err;
}
let usql =
"CREATE TABLE IF NOT EXISTS users (id INT AUTO_INCREMENT PRIMARY KEY, name TEXT, profile TEXT)";
con.query(usql, (err, result) => {
if (err) {
throw err;
}
console.log("User Table created");
});
let csql =
"CREATE TABLE IF NOT EXISTS comments (id INT AUTO_INCREMENT PRIMARY KEY, comment TEXT, upvotes INT)";
con.query(csql, (err, result) => {
if (err) {
throw err;
}
console.log("Comments Table created");
});
let rsql =
"CREATE TABLE IF NOT EXISTS replies (id INT AUTO_INCREMENT PRIMARY KEY, reply TEXT, upvotes INT)";
con.query(rsql, (err, result) => {
if (err) {
throw err;
}
console.log("Replies Table created");
});
let sql =
"SELECT users.name AS user, comments.id AS comments FROM users JOIN comments ON users.comment_id = comments.id";
con.query(sql, (err, result) => {
if (err) {
throw err;
}
console.log(result);
});
let msql =
"SELECT comments.id AS comment, replies.id AS replyies FROM comments JOIN replies ON comment_id.reply_id = replies.id";
con.query(msql, (err, result) => {
if (err) {
throw er;
}
console.log(result);
});
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.