gpt4 book ai didi

mysql - 更新正在插入的行

转载 作者:行者123 更新时间:2023-11-29 17:52:12 25 4
gpt4 key购买 nike

我有一个名为 Tickets 的表。我想为正在插入的行的serial_ticket 字段自动生成一个随机数。我怎样才能做到这一点?这是我的 body 触发代码:

BEGIN 

set new.Serial_Ticket := (SELECT FLOOR(RAND() * 99999) AS serial_ticket

FROM tickets

WHERE "serial_ticket" NOT IN (SELECT serial_ticket FROM tickets));

END

我没有错误,但它不起作用,当我插入新行时,我只是得到“null”。我在 Wampserver (localhost) 和 C# 应用程序上使用 phpmyadmin。

目标是请求服务器在数据库中放置新票据并生成票据序列,然后将正在出售的每个商品插入名为“item”的不同表中,但我需要在链接这些票据后生成票据序列与门票一起的项目并避免重复。

PD:抱歉我的英语不好

最佳答案

这看起来不合逻辑,当您在 where 条件中使用它时,serial_ticket 尚未定义。根据文档,

It is not permissible to refer to a column alias in a WHERE clause, because the column value might not yet be determined when the WHERE clause is executed

https://dev.mysql.com/doc/refman/5.7/en/problems-with-alias.html

根据您的唯一字段之一生成唯一前缀,然后附加一个随机数(带前导零)。您不必使用触发器,并且速度会快得多,因为您可以在插入行时执行此操作。

关于mysql - 更新正在插入的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49215733/

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