美文网首页
TypeOrm - 外键插入为Null

TypeOrm - 外键插入为Null

作者: 辻子路 | 来源:发表于2019-08-02 13:34 被阅读0次

最近用nest尝试用typeorm写些数据库操作时,碰到子表保存数据时,外键一直为空。

例如主表:


import { Entity, Column, PrimaryGeneratedColumn, CreateDateColumn, UpdateDateColumn, Generated, OneToMany } from 'typeorm';

import { Post } from './post.entity';

@Entity()

export class User {

  @PrimaryGeneratedColumn()

  id: number;

  @Column()

  userName: string;

  @Column()

  password: string;

  @Column()

  haedImg: string;

  @Column({

    length: 11,

  })

  mobile: string;

  @CreateDateColumn({ type: 'timestamp' })

  createdAt: Date;

  @UpdateDateColumn({ type: 'timestamp' })

  updatedAt: Date;

  @OneToMany(type => Post, post => post.user)

  posts: Post[];

}

子表:


import { Entity, Column, PrimaryGeneratedColumn, CreateDateColumn, UpdateDateColumn, Generated, OneToMany, ManyToOne, JoinColumn } from 'typeorm';

import { User } from './user.entity';

@Entity()

export class Post {

    @PrimaryGeneratedColumn()

    id: number;

    @Column()

    userId: number;  // 一定要定义一遍

    @ManyToOne(type => User, user => user.posts, { nullable: false })

    @JoinColumn({ name: 'userId' })

    user!: User;

    @Column('text')

    img: string;

    @Column('text')

    content: string;

    @Column({ default: 0 })

    shareCount: number;

    @Column({ default: 0 })

    commentCount: number;

    @Column({ default: 0 })

    likeCount: number;

    @Column({ default: 0 })

    collectCount: number;

    @CreateDateColumn({ type: 'timestamp' })

    createdAt: Date;

    @UpdateDateColumn({ type: 'timestamp' })

    updatedAt: Date;

}

原因是userId这个字段也还要再定义一遍,不然就会出现子表插入数据,userId为空的情况

相关文章

  • TypeOrm - 外键插入为Null

    最近用nest尝试用typeorm写些数据库操作时,碰到子表保存数据时,外键一直为空。 例如主表: 子表: 原因是...

  • Java HashMap源码分析

    HashMap简述 允许插入null key和null value,但是最多只允许一条键为null,可以有多个值为...

  • HashMap 对于key是null值的存储

    HashMap 允许插入键为 null 的键值对。但是因为无法调用 null 的 hashCode() 方法,也就...

  • Error: Entity metadata for Entit

    TypeOrm 外键实体出现的一个错误 我们在外键表引入的时候出现这个异常,原引入关联的方式如下 发现只有 Use...

  • 数据五

    插入数据:外键字在父中不存在 插入 跟新父表记录失败id=1的记录已经被占用 可以:没有引用 插入数据 创建外键:...

  • 表的设置

    插入,修改,删除数据 插入 修改单表 多表 删除 创建,删除表 表的约束 主键 外键 创建表时 关联列必须为key...

  • django数据模型中关于on_delete的使用

    外键的删除 关于on_delete的总结 1、常见的使用方式(设置为null) 2、关于别的属性的介绍 CASCA...

  • HashMap介绍

    HashMap 可以说是使用频率最高的处理键值映射的数据结构,它不保证插入顺序,允许插入 null 的键和值。 1...

  • Java基础(十一)

    MySQL 索引 优化 插入 Mysql插入值,插入一个空行(前提为not null的列得有默认值) INSERT...

  • MySQL数据库的主键和外键详解

    MySQL数据库的主键和外键详解(SQL:外键字段不能为空字符串('')只能是null或有效值) 1)只有Inno...

网友评论

      本文标题:TypeOrm - 外键插入为Null

      本文链接:https://www.haomeiwen.com/subject/kbkldctx.html