“AWS RDS 数据库错误:ER_NO_SUCH_TABLE:表不存在” - 但相同的架构在本地 mysql/Nodejs 上运行良好

Uma*_*007 1 mysql database mysql-workbench amazon-web-services amazon-rds

我有本地 Node.js,我已使用下面的代码连接到数据库(AWS RDS),它对于其他查询工作正常,但对于一个查询,它会出现错误,因为它不存在。我在本地测试了相同的代码,它运行得很好,但是当我将其上传到 AWS RDS 时,我仅在一个查询中收到此错误。如果我在这里遗漏了一些东西,请提出任何建议。

-snippet本地 Node.js 代码


    const express = require("express");
    const mysqlx = require("mysql");
    const jwt = require("jsonwebtoken");
    const auth = require("./verifyTokenExisting");
    const authNew = require("./verifyTokenNew");
    const cors = require("cors");
    const cookieParser = require("cookie-parser");
    const pdf = require("html-pdf");
    const pdfTemplate = require("./documents/pdfTemplate");
    const fs = require("fs");
    
    app.post("/api/invoice-all", (req, res) => {
    ........................................................
    
     connection.query("SELECT * FROM  users_basket WHERE users_user_id=?;", [user_id], function (err, results) {
          if (err) console.log("Error3", err);   // here the error is coming
          else {
            console.log("1578", results);
            //  let invoice_Object = json.stringify(results);
            res.json(results);
          }
        });

Run Code Online (Sandbox Code Playgroud)

- SnippetNOde.js 的错误


   Error3 Error: ER_NO_SUCH_TABLE: Table 'join_us.users_basket' doesn't exist
       at Query.Sequence._packetToError (D:\Programming\Repo\JavaScript-Project\ec-server\node_modules\mysql\lib\protocol\sequences\Sequence.js:47:14)
       at Query.ErrorPacket (D:\Programming\Repo\JavaScript-Project\ec-server\node_modules\mysql\lib\protocol\sequences\Query.js:79:18)
       at Protocol._parsePacket (D:\Programming\Repo\JavaScript-Project\ec-server\node_modules\mysql\lib\protocol\Protocol.js:291:23)
       at Parser._parsePacket (D:\Programming\Repo\JavaScript-Project\ec-server\node_modules\mysql\lib\protocol\Parser.js:433:10)
       at Parser.write (D:\Programming\Repo\JavaScript-Project\ec-server\node_modules\mysql\lib\protocol\Parser.js:43:10)
       at Protocol.write (D:\Programming\Repo\JavaScript-Project\ec-server\node_modules\mysql\lib\protocol\Protocol.js:38:16)
       at Socket.<anonymous> (D:\Programming\Repo\JavaScript-Project\ec-server\node_modules\mysql\lib\Connection.js:88:28)
       at Socket.<anonymous> (D:\Programming\Repo\JavaScript-Project\ec-server\node_modules\mysql\lib\Connection.js:526:10)
       at Socket.emit (events.js:310:20)
       at addChunk (_stream_readable.js:286:12)
       --------------------.
    code: 'ER_NO_SUCH_TABLE',
     errno: 1146,
     sqlMessage: "Table 'join_us.users_basket' doesn't exist",
     sqlState: '42S02',
     index: 0,
     sql: 'SELECT * FROM  users_basket WHERE users_user_id=1;'

Run Code Online (Sandbox Code Playgroud)

-users_basket确实存在,如下所示rds

在此输入图像描述

Che*_*yDT 5

\n

users_basket确实存在

\n
\n

否:users_Basket存在,但users_basket不存在(B\xe2\x89\xa0 b)!

\n

将您的查询更改为SELECT * FROM users_Basket WHERE users_user_id=?;(使用大写B)应该可以修复它。

\n

无论如何,它在您的计算机上运行的原因可能是因为您的计算机使用不区分大小写的文件系统,并且数据库表存储为文件

\n