我正在尝试将查询的持续时间详细信息记录到表中。我遇到的问题是第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;
由于
答案 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;