从insert语句返回Query_ID

时间:2013-02-19 18:39:26

标签: mysql sql database

我正在尝试将查询的持续时间详细信息记录到表中。我遇到的问题是第8行。 这是因为我需要一种从第2行和第2行返回创建QUERY_ID的方法。 3?

1)Set profiling =1;

2)INSERT INTO Master
3)VALUES ("a12t22h@hotmail.com","efheif","pwoe");

4)INSERT INTO Duration(Status,DURATION)
5)SELECT STATE, FORMAT(DURATION, 6) AS DURATION
6)FROM INFORMATION_SCHEMA.PROFILING;
7)SELECT * FROM INFORMATION_SCHEMA.PROFILING
8)WHERE QUERY_ID = 1; 

由于

2 个答案:

答案 0 :(得分:0)

我猜你想要返回第2行插入的值的Id吗?您可以使用获取插入的ID;

SELECT LAST_INSERT_ID();

我将它分配给变量,然后在上一个插入语句中使用它。

答案 1 :(得分:0)

试试这个。它是一个临时变量,必须在插入后的下一行使用,否则将重置该值。

设置性能分析= 1;

INSERT INTO Master
VALUES ("a12t22h@hotmail.com","efheif","pwoe");

SET @v1 = LAST_INSERT_ID()

INSERT INTO Duration(Status,DURATION)
SELECT STATE, FORMAT(DURATION, 6) AS DURATION
FROM INFORMATION_SCHEMA.PROFILING;
SELECT * FROM INFORMATION_SCHEMA.PROFILING
WHERE QUERY_ID = @v1;