我有一个包含大量查询的程序
print("Start")
for i in [3,4,5]
print("Hola, ahora i vale"+str(i) + "y su exponent" + i ** 2 )
print("End")
如何从之前的查询中获取价值?
和
如何检测它是否为空?
答案 0 :(得分:2)
如果您一次插入一行并且想要最新的自动递增ID,则可以使用;
select last_insert_id()
记录在案here。
如果他们插入多行,那么这可能会有点棘手。
如果要“返回”select
中的值,请使用变量。 。 。 :=
或into
。
答案 1 :(得分:0)
我建议你使用"临时表"。您可以创建临时表来存储数据并对其执行查询根据该会话。
所以,它可能是这样的......
DELIMITER $$ CREATE PROCEDURE test() BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tempTable_A AS (SELECT * FROM a) INSERT INTO b ...; //use result tempTable_A query UPDATE c ...; //use result tempTable_A query INSERT INTO d ...; //use result tempTable_A query CREATE TEMPORARY TABLE IF NOT EXISTS tempTable_D AS (SELECT * FROM d) //use result tempTable_A query INSERT INTO e ...; //use result tempTable_D query UPDATE a ...; //use result tempTable_D query END $$
示例可以在这里找到: Create a temporary table in a SELECT statement without a separate CREATE TABLE
文档链接: https://dev.mysql.com/doc/refman/5.7/en/create-table.html