当autocommit关闭时,是否可以使用第一个MySQL select的值作为条件?

时间:2013-04-21 19:40:23

标签: php mysql select autocommit

首先,我还在学习如何使用PHP / MySQL ...所以在选择时或仅在插入/更新时是否可以使用事务?

如果可能的话,我将如何解决这个问题(伪代码):

关闭自动提交

从auth中选择id,其中alias = [user input]

从标志中选择活动,其中id = ID FROM ABOVE SELECT

如果:没有错误 提交

否则: 回滚

从第二个选择中获取行


以上是否可以使用MySQL(请使用PHP语法)?

1 个答案:

答案 0 :(得分:3)

此处使用交易相当无用,因为您的查询仅处理SELECT

这里有两个选择。 (请注意,我只包含了SQL代码。)

<强> 1。您可以在SELECT声明中使用SELECT

SELECT active
  FROM flags
 WHERE id IN (
               SELECT id
                 FROM auth
                WHERE alias = 'userinput'
             );

<强> 2。其他可能性是使用JOIN

    SELECT f.active
      FROM flags f
INNER JOIN auth a
        ON f.id = a.id
     WHERE a.alias = 'userinput';

此处,fa等别名用于指定表格。