You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ReactJS CRUD训练中VS Code操作MySQL数据库无反应求助

解决方案:排查你的CRUD无响应问题

你的代码和操作流程里有几个关键问题导致数据无法插入,按以下步骤逐一排查:

1. 数据库连接未建立

你的代码只创建了数据库连接对象,但没有调用连接方法,导致Node程序根本没和MySQL建立连接,执行db.query自然不会有任何效果。

修改代码,添加连接逻辑并处理连接错误:

const express = require("express")
const app = express()
const mysql = require("mysql")

const db = mysql.createConnection({
    host: "localhost",
    user: "root",
    password: "123456",
    database: "gamedb",
})

// 新增:建立数据库连接并处理连接错误
db.connect((err) => {
    if (err) {
        console.error("数据库连接失败:", err);
        return;
    }
    console.log("已成功连接到MySQL数据库");
})

app.get('/', (req, res) => {
    const sqlInsert = "INSERT INTO gamestab (gamename, gamedes) VALUES ('Diablo', 'Diablo is an action role-playing dungeon crawler video game series developed by Blizzard North.');"
    db.query(sqlInsert, (err, result) => {
        // 新增:处理SQL执行错误
        if (err) {
            console.error("SQL执行失败:", err);
            res.status(500).send("插入数据失败");
            return;
        }
        console.log("数据插入成功:", result);
        res.send('数据已插入');
    })
});

app.listen(3001, () => {
    console.log('服务运行在端口3001')
})

2. 操作方式错误:不要把Node脚本当SQL执行

你提到“点击‘执行脚本的选定部分’”,这是执行SQL脚本的操作,但你的代码是Node.js后端服务代码,正确的运行流程是:

  • 在VS Code终端中,进入代码所在目录,执行node 你的文件名.js启动服务
  • 打开浏览器访问http://localhost:3001,或者用Postman等工具发送GET请求到该地址,才会触发插入逻辑

3. MySQL 8.0身份验证兼容性问题

mysql包(旧版)对MySQL 8.0默认的caching_sha2_password身份验证支持不佳,可能导致连接失败但无明显报错。解决方法二选一:

  • 切换到mysql2包:执行npm uninstall mysql && npm install mysql2,然后把代码里的require("mysql")改成require("mysql2")
  • 修改MySQL用户验证方式:在MySQL Workbench中执行以下SQL,将root用户改为mysql_native_password验证:
    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
    FLUSH PRIVILEGES;
    

4. 确认数据库表结构匹配

确保gamedb数据库中的gamestab表存在,且gamename、gamedes字段的类型和长度能容纳你插入的数据(比如gamename是VARCHAR类型且长度足够;gamedes如果是长文本,建议用TEXT类型)。


内容的提问来源于stack exchange,提问作者RockSolo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 16:48:25