NestJS-[TypeOrmModule]无法连接到数据库。重试ER_PARSE_ERROR

时间:2020-06-29 20:52:16

标签: nestjs typeorm

无法使用正确的连接信息连接数据库,请按照文档进行操作以从https://docs.nestjs.com/techniques/database连接数据库

在SQLYog上连接的数据库

enter image description here

app.module.ts

中遵循相同的数据库信息
@Module({
  imports: [
    TypeOrmModule.forRoot({
      type: 'mysql',
      host: 'localhost',
      port: 3306,
      username: 'root',
      password: null,
      database: 'the_local_db',
      entities: [
        Table_one,
      ],
      // entities: ['../typeorm/entities/*.ts'],

      synchronize: true,
    }),
    StaffModule,
  ],
  controllers: [AppController],
  providers: [AppService],
})
export class AppModule {}

错误详细信息

`[嵌套] 5528-2020年6月30日,上午1:39:51 [ExceptionHandler] ER_PARSE_ERROR:您的SQL语法有错误;检查与您的MariaDB服务器版本相对应的手册,以在第1 + 18m行的“''''附近使用正确的语法 QueryFailedError:ER_PARSE_ERROR:您的SQL语法有错误。检查与您的MariaDB服务器版本相对应的手册,以在第1行的“''''附近使用正确的语法

在新的QueryFailedError(C:\ Users \ UserName \ ProjectName \ nrwl \ src \ error \ QueryFailedError.ts:9:9) 在查询。 (C:\ Users \ UserName \ ProjectName \ nrwl \ src \ driver \ mysql \ MysqlQueryRunner.ts:167:37) 在查询。 (C:\ Users \ UserName \ ProjectName \ nrwl \ node_modules \ mysql \ lib \ Connection.js:526:10) 在Query._callback(C:\ Users \ UserName \ ProjectName \ nrwl \ node_modules \ mysql \ lib \ Connection.js:488:16) 在Query.Sequence.end(C:\ Users \ UserName \ ProjectName \ nrwl \ node_modules \ mysql \ lib \ protocol \ sequences \ Sequence.js:83:24) 在Query.ErrorPacket上(C:\ Users \ UserName \ ProjectName \ nrwl \ node_modules \ mysql \ lib \ protocol \ sequences \ Query.js:92:8) 在Protocol._parsePacket(C:\ Users \ UserName \ ProjectName \ nrwl \ node_modules \ mysql \ lib \ protocol \ Protocol.js:291:23) 在Parser._parsePacket(C:\ Users \ UserName \ ProjectName \ nrwl \ node_modules \ mysql \ lib \ protocol \ Parser.js:433:10) 在Parser.write(C:\ Users \ UserName \ ProjectName \ nrwl \ node_modules \ mysql \ lib \ protocol \ Parser.js:43:10) 在Protocol.write(C:\ Users \ UserName \ ProjectName \ nrwl \ node_modules \ mysql \ lib \ protocol \ Protocol.js:38:16)中

2 个答案:

答案 0 :(得分:2)

我遇到了类似的问题,经过验证的回复对我没有帮助。我能够使用 mysql2 模块代替 mysql 来解决我的问题。

$ npm install mysql2 --save

我还必须卸载 mysql 模块才能连接到我的数据库

$ npm uninstall mysql --save

希望此回复能帮助其他陷入同一问题的人。

答案 1 :(得分:0)

我刚刚删除了端口:3306,现在可以正常工作了。

@Module({
  imports: [
    TypeOrmModule.forRoot({
      type: 'mysql',
      host: 'localhost',
      username: 'root',
      password: null,
      database: 'the_local_db',
      entities: [
        Table_one,
      ],
      // entities: ['../typeorm/entities/*.ts'],

      synchronize: true,
    }),
    StaffModule,
  ],
  controllers: [AppController],
  providers: [AppService],
})
export class AppModule {}
相关问题