我无法理解为什么这个序列会增加2。
序列中是否有任何错误增加1?我需要这个在表'food'中插入主键值。
.container{
background:url(images/4.jpg);
background-position:center;
background-size:cover;
height:100vh;
width:100vw;
-webkit-transition: background 1000ms ease-in-out;
-moz-transition: background 1000ms ease-in-out;
-o-transition: background 1000ms ease-in-out;
-ms-transition: background 1000ms ease-in-out;
transition: background 1000ms ease-in-out;
}
.home-click{
background-image:url(images/3.jpg);
background-position:center;
background-size:cover;
-webkit-transition: background 1000ms ease-in-out;
-moz-transition: background 1000ms ease-in-out;
-o-transition: background 1000ms ease-in-out;
-ms-transition: background 1000ms ease-in-out;
transition: background 1000ms ease-in-out;
}
答案 0 :(得分:4)
因为您正在INSERT
语句和中的每个行启动的触发器中访问序列,当然它会增加2
选择一个。
我会选择基于触发器的,因为您不必记住在每个可能执行的insert语句中指定序列。
在这种情况下,您必须明确列出要插入VALUES
的列:
INSERT INTO food (f_name, category, price, amount)
VALUES ('ruchi', 'chanachur' , 8, 50);
答案 1 :(得分:3)
您有两种方法可以解决此问题。
将insert语句修改为:
insert into food (f_name, category,price , amount)
values ('ruchi', 'chanachur' , 8, 50);
或修改您的触发器如下:
CREATE OR REPLACE TRIGGER insert_into_food
BEFORE INSERT ON food
FOR EACH ROW
BEGIN
if :new.food_id is null then
:new.food_id:= food_id_ai.nextval;
end if;
END;
/