首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从NodeJs创建时找不到Cloud SQl、MySQL数据库表

从NodeJs创建时找不到Cloud SQl、MySQL数据库表
EN

Stack Overflow用户
提问于 2020-10-12 00:21:14
回答 1查看 246关注 0票数 0

我已经创建了一个谷歌云mySql实例,我想用它来存储一些温室效应信息。我已经设置了实例,并且还将我的NodeJs程序连接到该实例。我还使用以下命令运行了mysql云代理

代码语言:javascript
复制
.\cloud_sql_proxy.exe -instances=my-instance-name=tcp:3306

下面的代码用于连接到数据库。

代码语言:javascript
复制
var dbConnected = false;
const config = ConnectionOptions = {
  host: '127.0.0.1',
  user: 'Username',
  password: 'Password',
  database: 'GreehouseInfo', 
  dialect: 'mysql',
  synchronize: true,
}


const connection = mysql.createConnection(config);

async function ConnectToDatabse() {
    await connection.connect((err) => {
      if (err) throw err;
      console.log('Connected!');
      dbConnected = true;
    });
}

现在,我还使用以下查询动态创建了一些表,代码如下所示#

代码语言:javascript
复制
async function CreateTables() {
  return new Promise(resolve => {
    if (dbConnected){
        
        var sql = "CREATE TABLE IF NOT EXISTS Users(User_ID INT AUTO_INCREMENT PRIMARY KEY,UserName VARCHAR(255) NOT NULL,Password VARCHAR(255))";
        connection.query(sql, function (err, result) {
            console.log(result)
        if (err) console.log(err);
        
      });
    }
    console.log("Table created");
    resolve();
  });
}

当我启动节点服务并表示表已创建时,查询没有抛出任何错误,当我使用命令行和以下命令mysql -u RichardTeunen -p --host 127.0.0.1 --port 3306连接到DB实例时,我可以使用以下命令show tables;来查看我的表,然后我就可以看到我刚刚创建的表用户

我遇到的问题是当我尝试在表上执行任何查询时。我创建了以下函数来执行查询。

代码语言:javascript
复制
async function PerformQuery(querytext) {
  return new Promise(resolve => {
    if (dbConnected){
        var sql = querytext;
        connection.query(sql, function (err, result) {
        if (err) console.log(err.message);
        
      });
    }
    console.log("Query performed");
    resolve();
  });
}

我对这个查询尝试了Select和Insert语句,我总是得到这样的错误

代码语言:javascript
复制
The table GreehouseInfo.USERS does not exist

但是,正如我刚才所展示的那样,该表确实存在,所以我不确定为什么会发生这种情况。我已经了解到,如果您将设备备份到另一个位置,然后您应该随身携带一些文件,则会发生这种情况,但我不确定必须将哪些数据库文件复制到我的本地设备才能使连接在此设备上有效。任何建议都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2020-10-12 00:45:59

据我所知,您的表是User(请参阅您的创建脚本),而不是USERS (请参阅您的SELECT错误)。Linux环境下的大小写敏感问题;)

请参阅docs

请参阅示例here

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64306343

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档