首先,我还在学习如何使用PHP / MySQL ...所以在选择时或仅在插入/更新时是否可以使用事务?
如果可能的话,我将如何解决这个问题(伪代码):
关闭自动提交
从auth中选择id,其中alias = [user input]
从标志中选择活动,其中id = ID FROM ABOVE SELECT
如果:没有错误 提交
否则: 回滚
从第二个选择中获取行
以上是否可以使用MySQL(请使用PHP语法)?
答案 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';
此处,f
和a
等别名用于指定表格。