[英]PHP & Mysqli - Multiple querys in one?
我需要从插入的最后一行表中获取ID(一列)。 我想知道是否有某种方法可以将其嵌入另一个查询中,以避免出现两个不同的查询? 它似乎更简单,我相信我以前见过它。
像这样的东西:
$query = "INSERT INTO a_table (x, y) VALUES ((SELECT id FROM another_table ORDER BY id DESC), 'y...')";
任何想法如何做到这一点? 谢谢。
如果您希望获得脚本创建的最新记录,那么首先应该不要这样做。 如果您的脚本的另一个实例同时创建了一条记录,该怎么办?
mySQL的LAST_INSERT_ID()
将返回通过此特定连接创建的最后一个ID 。 但是,您必须在插入语句后立即调用它。
如果实际上要获得最高的ID,GSto的答案将为您服务。
INSERT INTO a_table (x, y) VALUES (SELECT max(id), 'y...' FROM another_table);
是的,MySQL有一个INSERT .. SELECT语句:
例:
INSERT INTO a_table(x,y)SELECT id,'y'FROM another_table ORDER BY id DESC
尽管要记住,除非您有一个auto_incrementing ID字段,否则order by子句在这里毫无意义。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.