gpt4 book ai didi

插入行而不设置主列

转载 作者:行者123 更新时间:2023-12-01 01:32:15 26 4
gpt4 key购买 nike

我有那个查询:

INSERT INTO GOST (ASSORTMENTID, ROZMIAR, GOST) 
VALUES ( 54,'S','MjgwMzktODkgMTc0LTk2')

我想在表 GOST 中插入新行,但我不想用主键指定列 - GOSTID。我希望该数据库设置下一个 id 值。
当我运行此代码时,出现该错误:

validation error for column GOSTID, value "* null *"



我知道我应该在 INSERT 查询中设置 GOSTID 列,是吗?

可以在没有此参数的情况下运行它吗?

最佳答案

我认为一个示例脚本值(value)超过 1000 字:

转到 firebird 服务器机器中的 shell 界面,cd 到您具有读/写权限的文件夹,启动 isql 或 isql-fb(取决于您的系统和 firebird 版本)并运行此脚本:

create database 'netmajor.fdb' user 'sysdba' password 'masterkey';
set autoddl off;

create table netmajor_example (
netmajor_id integer not null
, str_data varchar(200)
, int_data integer
, constraint pk_netmajor_example
primary key (netmajor_id)
);

create generator netmajor_gen;

set term ^;

create trigger netmajor_pkassign
for netmajor_example
active before insert position 1
AS
begin
if (new.netmajor_id is null) then
new.netmajor_id = gen_id(netmajor_gen, 1);
end
^

commit work^

set term ; ^


insert into netmajor_example (str_data, int_data) values ('one', 1);
insert into netmajor_example (str_data, int_data) values ('twenty', 20);
commit work;

select * from netmajor_example;

看看结果,在我的机器上是:
; NETMAJOR_ID STR_DATA                     INT_DATA
;============ ============================ ============
; 1 one 1
; 2 twenty 20

如果您有任何疑问,请随时联系。此致。

关于插入行而不设置主列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4034340/

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