【问题标题】:MySQL multiple statement execution orderMySQL多语句执行顺序
【发布时间】:2012-05-28 19:57:00
【问题描述】:

我创建了一个例程,它在一个表中插入一条记录,然后它搜索该 id(使用 select 语句)并使用该 id 更新另一个表的字段。这可能吗?这是一个例程,所以我的问题是语句是否按顺序执行?

提前致谢

【问题讨论】:

  • 因为您已经编写了该例程,您应该尝试执行它,您就会知道。有什么错误吗?它将按顺序执行。
  • 你不能使用更新触发器吗??

标签: mysql sql routines


【解决方案1】:
  1. 您不需要搜索 id。您可以使用LAST_INSERT_ID() 来获取最后插入的行的ID。

    INSERT INTO tablename (<columns>) VALUES (<columnvalues>);

    SELECT LAST_INSERT_ID() INTO somevariable;

  2. 然后你可以写你的UPDATE声明。

    UPDATE sometable SET sometable.col = somevariable WHERE sometable.something = @something

  3. 例程中的语句按照它们编写的顺序执行。

【讨论】:

    猜你喜欢
    • 2014-07-30
    • 2018-02-18
    • 2014-03-05
    • 1970-01-01
    • 1970-01-01
    • 2014-08-23
    • 2015-07-30
    • 2013-10-17
    • 1970-01-01
    相关资源
    最近更新 更多