1

i have local Node.js which i have connected to DB(AWS RDS) using the below code it works fine for other queries but for one query it is coming up with error as it doesnt exist. i have tested the same code locally and it works perfectly fine but when i upload it to the AWS RDS then i get this error for only one query. any suggestions please if i am missing something here.

-snippet of Node.js code locally


    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);
          }
        });

-Snippet of the error at NOde.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;'

-users_basket does exist as below snapshort rds

enter image description here

Umair_007
  • 133
  • 1
  • 7
  • 17

1 Answers1

5

users_basket does exist

No: users_Basket exists, but users_basket doesn't (Bb)!

Changing your query to SELECT * FROM users_Basket WHERE users_user_id=?; (with capital B) should fix it.

The reason why it works on your computer anyway is probably because your computer is using a case-insensitive file system, and database tables are stored as files!

CherryDT
  • 25,571
  • 5
  • 49
  • 74