gpt4 book ai didi

mysql - 根据上一行增加一行

转载 作者:行者123 更新时间:2023-11-29 18:21:04 27 4
gpt4 key购买 nike

这是我的 table

id / step    / piece / tube / Validate / tool / tool2 / tool3 / index
__________________________________________________________________
1 / step3 /4113292/ ezpz / ok /616255/222233/222231 / 0
2 / step6 /4113292/ ezpz / /333255/212393/922231 / 0
3 / step2 /3322234/ PZEZ / /321938/330200/3O32O / 0
4 / step4 /4113292/ ezpz / /616255/902233/8243231 / 0

当我添加具有相同管和件的新步骤(带有插入件)时,我想增加索引。

例如:

id / step    / piece / tube / Validate / tool / tool2 / tool3 / index
__________________________________________________________________
1 / step3 /4113292/ ezpz / ok /616255/222233/222231 / 1
2 / step6 /4113292/ ezpz / /333255/212393/922231 / 2
3 / step2 /3322234/ PZEZ / /321938/330200/3O32O / 1
4 / step4 /4113292/ ezpz / /616255/902233/8243231 / 3

如果我为部件 4113292 和 tube ezpz 添加新步骤,我想要这个:

id / step    / piece / tube / Validate / tool / tool2 / tool3 / index
__________________________________________________________________
1 / step3 /4113292/ ezpz / ok /616255/222233/222231 / 1
2 / step6 /4113292/ ezpz / /333255/212393/922231 / 2
3 / step2 /3322234/ PZEZ / /321938/330200/3O32O / 1
4 / step4 /4113292/ ezpz / /616255/902233/8243231 / 3
5 / step7 /4113292/ ezpz / /616255/902233/8243231 / 4

或者如果我为 3322234 部分添加一个新步骤

id / step    / piece / tube / Validate / tool / tool2 / tool3 / index
__________________________________________________________________
1 / step3 /4113292/ ezpz / ok /616255/222233/222231 / 1
2 / step6 /4113292/ ezpz / /333255/212393/922231 / 2
3 / step2 /3322234/ PZEZ / /321938/330200/3O32O / 1
4 / step4 /4113292/ ezpz / /616255/902233/8243231 / 3
5 / step1 /3322234/ PZEZ / /432938/330200/3O32O / 2

我这样做是因为当一个步骤没问题时我想进入下一步

最佳答案

来自用户的示例插入 - 而不是“?”将“0”作为默认值,因为每次第一次插入都是 0。

INSERT INTO operation (step, piece, tube, tool,tool2,3,index) VALUES (step3, 4113292, ezpz,616255,902233,8243231, 0);

当您再次使用同一件和 pipe 进行插入时,此触发器应该可以完成工作。

DELIMITER //
CREATE TRIGGER yourTrigger
BEFORE INSERT
ON yourTable FOR EACH ROW
BEGIN
DECLARE maxIndex INT DEFAULT -1;
SELECT MAX(index1) m
FROM yourTable
WHERE piece = NEW.piece
AND tube = NEW.tube
INTO maxIndex;
IF maxIndex >= 0 THEN
SET NEW.index1 = maxIndex + 1;
END IF;
END;//
DELIMITER;

测试于SQL Fiddle .

附注我必须将“index”重命名为“index1”,因为 SQL Fiddle 不适用于名为“index”的列。

关于mysql - 根据上一行增加一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46582004/

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