当前位置: 首页 > 知识库问答 >
问题:

如何仅用mysql获得特殊ID

夹谷晋
2023-03-14

我正在寻找一些东西可以帮助我获得票证的id创建在第一行。

我知道我可以通过使用不同的准备好的查询来简化这一点,但我不想(试着看看这样做是否可行,是否不使用多查询方式)。

我知道mysql中的LAST_INSERT_ID(),但我有点担心同时插入几行....

在我的研究过程中,我也看到有人直接选择指定的ID,但这是一个很大的资源成本。

我也看到@@插入,我没有看到他们之间有很大的区别,所以我也有同样的问题...

代码:

CREATE PROCEDURE `Create_Ticket`(IN idU bigint(16),IN type VARCHAR(45),IN pseudo VARCHAR(45), IN lienacc VARCHAR(100), IN liengame VARCHAR(100), IN content VARCHAR(500))
BEGIN
    INSERT INTO `dbOneT`.`Ticket` (`FaceitGame`,`Status`,`Ouverture` ) 
        VALUES ( liengame , 0 , NOW());
    INSERT INTO `dbOneT`.`Users_has_Ticket` (`Users_id`, `Ticket_id`) 
        VALUES ( idU, `Ticket`.`idTicket` );
    INSERT INTO `dbOneT`.`Accuse` (`Pseudo`,`LienFaceit`) 
        VALUES (pseudo, lienacc);
    INSERT INTO `dbOneT`.`Ticket_has_Accuse` (`Ticket_id_A`, `Accusé_id`) 
        VALUES (`Ticket`.`idTicket`, `Accuse`.`idAccuse`);
END

我运行的是MariaDB 10.3.27

“计算机”是raspberry pi OS(一个debian)上带有8GO RAM的raspberry pi 4B

谢谢你的帮助,祝你有个愉快的一天
汤姆

共有1个答案

陶腾
2023-03-14
sql prettyprint-override">CREATE PROCEDURE `Create_Ticket`(IN idU bigint(16),IN type VARCHAR(45),IN pseudo VARCHAR(45), IN lienacc VARCHAR(100), IN liengame VARCHAR(100), IN content VARCHAR(500))
BEGIN
-- declare variables for inserted PK AI values
    DECLARE _idTicket INT;
    DECLARE _idAccuse INT;

    INSERT INTO `dbOneT`.`Ticket` (`FaceitGame`,`Status`,`Ouverture` ) 
        VALUES ( liengame , 0 , NOW());
-- save assignerd AI value to the variable
    SET _idTicket := LAST_INSERT_ID();
    INSERT INTO `dbOneT`.`Users_has_Ticket` (`Users_id`, `Ticket_id`) 
-- use saved value
        VALUES ( idU, _idTicket );
    INSERT INTO `dbOneT`.`Accuse` (`Pseudo`,`LienFaceit`) 
        VALUES (pseudo, lienacc);
-- save assignerd AI value to the variable
    SET _idAccuse := LAST_INSERT_ID();
-- use saved values
    INSERT INTO `dbOneT`.`Ticket_has_Accuse` (`Ticket_id_A`, `Accusé_id`) 
        VALUES (_idTicket, _idAccuse);
END
 类似资料:
  • 问题内容: 我正在使用find来查找目录中的所有文件,因此获得了路径列表。但是,我只需要文件名。即我得到,我想得到 问题答案: 在GNU中,您可以使用参数,例如:

  • 问题内容: 想象有一个学生表 student(id,name,city), 我想创建一个用户A,并且只授予更新id = 10的记录的权限。 我试过了,它不起作用。 问题答案: 不是只有一行, 而是包含 一行 的视图将依次更新实际的实际表。 这可以通过每个学生的特定表视图来完成(是的,这将是一个混乱的数据库结构)。仅在选择/更新之后才授予该用户对该视图的访问权限,并且主键将不可更新。当更新视图时,主

  • 问题内容: 我正在处理高度不平衡的数据集,我的想法是从我的 libSVM 模型中获取特征权重的值。到目前为止,我对线性内核还可以,我可以在其中获得特征权重,但是当我使用或时,我无法达到目标。 在这里,我正在使用我的模型,并且可以使用轻松获得线性核的特征权重。谁能帮助我可以做同样的事情还是?到目前为止,我已尝试执行以下操作: 问题答案: 正如文档中所述,这不仅是不可能的: 权重分配给特征(原始问题的

  • 问题内容: 我该如何更换: “ã”和“ a” “é”和“ e” 在PHP中?这可能吗?我读过某处我可以使用基本字符的ascii值和重音符号的ascii值进行一些数学运算,但是现在找不到任何参考。 问题答案: 这个答案是不正确的。 编写它时,我不理解Unicode规范化。查看francadaval的评论和链接 签出Normalizer类来执行此操作。文档很好,所以我将其链接起来,而不是在这里重复:

  • 问题内容: 我想像gdb一样获得类似输出。但是我想直接通过这样做。我的平台是Linux,x86;以及后来的x86_64。 现在,我只想从堆栈中读取返回地址,而无需转换为符号名称。 因此,对于测试程序,通过以下方式进行编译: 我将启动一个程序,并从一开始就连接到测试程序。然后,我将执行PTRACE_CONT并等待信号。当测试程序会做一次自杀;信号将被传送到我的程序。这时我想读取返回地址,它们就像(因

  • 问题内容: 我在数据库中有包含特殊字符的单词(大多数情况下为西班牙语,如波浪号)。在数据库中,所有内容均已保存并使用PHPmyAdmin正确显示,但是当我获取数据(使用PHP)并将其显示在浏览器中时,我得到了一个奇怪的字符,例如“?”。用一个正方形…我需要一个一般性的修补程序,因此我不必每次都转义每个字符,而且我还可以将PHP表单中的特殊西班牙字符插入数据库中… HTML是正确的: 所有表和数据库