gpt4 book ai didi

sql - 为什么这个序列增加了 2?

转载 作者:行者123 更新时间:2023-12-04 23:43:46 25 4
gpt4 key购买 nike

我不明白为什么这个序列增加了 2。

按顺序递增 1 是否有任何错误?我需要这个来在表“食物”中插入主键值。

CREATE SEQUENCE food_id_ai START WITH 1 INCREMENT BY 1 CACHE 100;

create table food(
food_id integer,
f_name varchar(30) not null,
category varchar(30) not null,
price number(4),
amount number(4)
);

alter table food add constraint fpk primary key(food_id);

CREATE OR REPLACE TRIGGER insert_into_food
BEFORE INSERT ON food
FOR EACH ROW
BEGIN
:new.food_id:= food_id_ai.nextval;
END;
/

insert into food values(food_id_ai.nextval,'ruchi', 'chanachur' , 8, 50);
insert into food values(food_id_ai.nextval,'chips', 'chips' , 8, 50);
insert into food values(food_id_ai.nextval,'aeromatic', 'soap' , 8, 50);
insert into food values(food_id_ai.nextval,'handwash', 'toyletries', 8, 50);
insert into food values(food_id_ai.nextval,'tissue', 'toyletries' , 8, 50);

最佳答案

因为您正在访问 INSERT 中的序列语句和为每一行启动的触发器中,当然它会增加 2。

选一个。
我会选择基于触发器的,因为您不必记住在您可能执行的每个插入语句中指定序列。

在这种情况下,您必须明确列出要插入的列 VALUES到:

INSERT INTO food (f_name, category, price, amount)
VALUES ('ruchi', 'chanachur' , 8, 50);

关于sql - 为什么这个序列增加了 2?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32147894/

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