Javascript 如何获取删除的鸟类、动物、附件的表格
我是nodeJs和Express的新手,希望了解我删除的项目的详细信息,即动物、鸟类、配件 下面是我的JavaScript代码Javascript 如何获取删除的鸟类、动物、附件的表格,javascript,mysql,node.js,express,Javascript,Mysql,Node.js,Express,我是nodeJs和Express的新手,希望了解我删除的项目的详细信息,即动物、鸟类、配件 下面是我的JavaScript代码 const { count } = require('console'); var express = require('express'); var mysql=require('mysql'); const { createConnection } = require('net'); var app = express(); var bodyparser=requi
const { count } = require('console');
var express = require('express');
var mysql=require('mysql');
const { createConnection } = require('net');
var app = express();
var bodyparser=require('body-parser');
app.set("view engine","ejs");
app.use(bodyparser.urlencoded({extended:true}));
app.use(express.static(__dirname +"/public"))
var connection=mysql.createConnection({
host:'localhost',
user:'root',
database:'mini_project',
password:'password'
});
app.get("/animals", function(req, res){
var q="select animals.pet_id,pet_category,breed,weight,age,height,fur,cost from animals join pets on animals.pet_id= pets.pet_id";
connection.query(q,function(err,results){
if(err) throw err;
res.render("dogs_home",{data:results});
});
});
app.get("/birds", function(req, res){
var q="select birds.pet_id,type,noise,cost from birds join pets on birds.pet_id= pets.pet_id";
connection.query(q,function(err,results){
if(err) throw err;
res.render("birds_home",{data:results});
});
});
app.get("/",function(req,res){
res.render("home");
});
app.get("/accessories", function(req, res){
var q="select * from pet_products";
connection.query(q,function(err,results){
if(err) throw err;
res.render("accessories",{data:results});
});
});
app.get("/sales", function(req, res){
var q="select * from sales_details";
connection.query(q,function(err,results){
if(err) throw err;
res.render("sales",{data:results});
});
});
app.get("/customers", function(req, res){
var q="select * from customer";
connection.query(q,function(err,results){
if(err) throw err;
res.render("customer",{data:results});
});
});
app.get("/ani_add", function(req, res){
res.render("ani_add");
});
app.get("/animal_id_add", function(req, res){
res.render("animal_id_add");
});
app.post("/register_dogs",function(req,res){
var dog={pet_id:req.body.pet_id,
breed:req.body.breed,
weight:req.body.weight,
height:req.body.height,
age:req.body.age,
fur:req.body.fur};
var q="insert into animals set ?"
connection.query(q,dog,function(err,results){
if(err) throw err;
res.redirect("/animals");
});
});
app.post("/register_dogs_id",function(req,res){
var dog={pet_id:req.body.pet_id,
pet_category:req.body.pet_category,
cost:req.body.cost};
var q="insert into pets set ?"
connection.query(q,dog,function(err,results){
if(err) throw err;
res.redirect("/ani_add");
});
});
//route for delete data for dogs
app.post('/delete',(req, res) => {
let query = "DELETE FROM pets WHERE pet_id=?";
let values= [req.body.pet_id];
connection.query(query, values, function(err,results){
if(err) {
throw err;
}
res.redirect("/animals");
});
});
//route for delete data for birds
app.post('/delete_birds',(req, res) => {
let query = "DELETE FROM birds WHERE pet_id=?";
let values= [req.body.bird_id];
connection.query(query, values, function(err,results){
if(err) {
throw err;
}
res.redirect("/birds");
});
});
//route for delete data for customers
app.post('/delete_customer',(req, res) => {
let query = "DELETE FROM customer WHERE cs_id=?";
let values= [req.body.customer_id];
connection.query(query, values, function(err,results){
if(err) {
throw err;
}
res.redirect("/customers");
});
});
app.post('/delete_pp_id',(req, res) => {
let query = "DELETE FROM pet_products WHERE pp_id=?";
let values= [req.body.pp_id];
connection.query(query, values, function(err,results){
if(err) {
throw err;
}
res.redirect("/accessories");
});
});
app.listen(8080, function () {
console.log('App listening on port 8080!');
});
我使用下面的代码来获取删除的项目,但每次我被重定向到错误的表
app.get("/sold_products", function(req, res){
var q="select * from sold_products join pet_products on sold_products.pp_id= pet_products.pp_id";
connection.query(q,function(err,results){
if(err) throw err;
res.render("accessories",{data:results});
});
});
我已经创建了一个名为“出售宠物”的表
create table sold_pets(sd_id varchar(9) not null,
pet_id varchar(9) not null,
primary key(pet_id),
foreign key(sd_id)references sales_details(sd_id)on delete cascade, foreign key(pet_id)references pets(pet_id)on delete cascade);
对于已售出的产品也是如此
create table sold_products(sd_id varchar(9) not null, pp_id varchar(9) not null,
quantity int(11) not null,
primary key(pet_id,pp_id),
foreign key(sd_id)references sales_details(sd_id)on delete cascade, foreign key(pp_id)references pet_products(pp_id)on delete cascade );
您确定您在“已售产品.pp\u id”中引用的“宠物产品”记录仍然存在吗?根据代码,我不知道如何“重定向到错误的表”。我可以问一下,为什么没有一张带有“animal_type_id”字段的“animals”表和一张“animal_type”表?您不必在多个表中拆分几乎相同的数据结构。我也会考虑不删除(删除)动物记录,但有一个EnUM字段,允许“动物”的“动物”ID“可用”、“检疫”、“出售”等。看看sequelize。你说的“删除”是什么意思?我说的“删除”是指我想访问我从mySql表中删除的表中的宠物或附件。你确定你在“Seld_products.pp_id”中引用的“宠物产品”记录仍然存在吗?根据代码,我不知道如何“重定向到错误的表”。我可以问一下,为什么没有一张带有“animal_type_id”字段的“animals”表和一张“animal_type”表?您不必在多个表中拆分几乎相同的数据结构。我也会考虑不删除(删除)动物记录,但有一个EnUM字段,允许“动物”的“动物”ID“可用”、“检疫”、“出售”等。看看sequelize。你说的“删除”是什么意思?我说的“删除”是指我想访问我从mySql表中删除的表中的宠物或附件。