mysql - Typeorm 实体插入而不同步

标签 mysql nestjs typeorm

我正在使用 TypeORM 和 NestJs 来处理现有的 MySql 数据库。有一个共享表,我必须向其中插入记录,该表具有自动递增主键。由于该表是共享的,因此我已关闭同步。

当我使用 @PrimaryGenerateColumn 装饰器设置 TypeORM 实体时,我收到一条错误,指出该列“没有默认值”。如果我将装饰器更改为 @Column,则会收到有关没有主键的错误。

谁能告诉我应该如何设置 TypeORM 实体,以便我可以将记录插入到具有自动递增列的表中,其中同步已关闭?

更新

以下是 MySql 表 DDL 的摘录:

CREATE TABLE IF NOT EXISTS tIntegrationItem (
    IntegrationItemID       mediumint AUTO_INCREMENT    NOT NULL,
    Description             varchar(200)                NOT NULL,
    CreatedDateTime         dateTime                    NOT NULL,
    PRIMARY KEY (IntegrationItemID)
) ENGINE=InnoDB;

以下是该实体的摘录:

@Entity({ name: "tIntegrationItem" })
export class IntegrationItem {
    @PrimaryGeneratedColumn()
    integrationItemId : number;

    @Column()
    description : string;

    @Column()
    createdDateTime  : Date = new Date();
}

这是我收到的错误:

[Nest] 26248 - 01/22/2020, 2:18:43 PM [ExceptionsHandler] ER_NO_DEFAULT_FOR_FIELD: Field 'IntegrationItemID' doesn't have a default value +18075ms QueryFailedError: ER_NO_DEFAULT_FOR_FIELD: Field 'IntegrationItemID' doesn't have a default value

最佳答案

问题可能与列名相关。

integrationItemId:数字;

IntegrationItemID

关于mysql - Typeorm 实体插入而不同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59826756/

相关文章:

node.js - 当nestjs中的正文验证失败时如何阻止文件上传

nestjs - 如何从 NestJS CacheManager 模块获取 redis io 客户端

node.js - 使用 lerna 类型-graphql --- 错误 : Cannot determine GraphQL output type for id

Mysql查询多个表?

php - 不知道如何限制 PHP 中的内部 SQL 查询

mysql - SQL: N-N Select * from table1 并检测是否与特定用户 ID 的另一个存在关系

mysql - 使用 Node js 从 mysql 中选择查询(LIKE 查询)

javascript - 如何在nestjs中执行嵌套路由?

postgresql - TypeORM 外键

mysql - Docker Compose 收到错误 ECONNREFUSED 127.0.0.1 :3306 with MySQL and NodeJS