gpt4 book ai didi

jpa - 我无法在古巴平台中应用更新查询脚本

转载 作者:行者123 更新时间:2023-12-02 04:11:46 26 4
gpt4 key购买 nike

当我应用此更新数据库脚本时,我收到此错误。

default expression needed in statement [alter table WATERSCHEME_LOCATION add column LGA_ID integer not null ]

LGA_ID 是与位置表关联的列,LGA_ID 设置为强制。但是当我删除强制项时,我可以更新脚本。

@Table(name = "WATERSCHEME_SCHEME_C")
@Entity(name = "waterscheme$Scheme_c")
public class Scheme_c extends BaseIntegerIdEntity {
private static final long serialVersionUID = -5886267876250540580L;

@OneToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "LGA_NAME_ID")
protected Lga lgaName;"""

这是我的位置表

/*
* Copyright (c) 2016 water-scheme
*/
package com.company.waterscheme.entity;

import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Column;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import com.haulmont.cuba.core.entity.BaseIntegerIdEntity;
import com.haulmont.chile.core.annotations.NamePattern;

/**
* @author samuel.thampy
*/
@NamePattern("%s|locationName")
@Table(name = "WATERSCHEME_LOCATION")
@Entity(name = "waterscheme$Location")
public class Location extends BaseIntegerIdEntity {
private static final long serialVersionUID = 8201565825728955033L;

@Column(name = "LOCATION_NAME", nullable = false)
protected String locationName;

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "LGA_ID")
protected Lga lgaId;

public void setLocationName(String locationName) {
this.locationName = locationName;
}

public String getLocationName() {
return locationName;
}

public void setLgaId(Lga lgaId) {
this.lgaId = lgaId;
}

public Lga getLgaId() {
return lgaId;
}
}

有人可以帮我解释为什么我应该设置默认值吗?

最佳答案

您要更改的表可能不为空,是吗?顺便说一句,使用哪个数据库?

您不能只向其中已有一些数据的表添加非空列。

通常实现的步骤:

1)添加可为空的列

2) 更新表中的所有现有行,以便它们接收一些值。

3) 执行“alter table alter column set not null”将列设置为非空。

关于jpa - 我无法在古巴平台中应用更新查询脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36288575/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com