Mysql - 在插入另一个表之前检查表

时间:2012-02-24 10:11:16

标签: php mysql nested

我想知道,尝试将用户添加到集合的管理员实际上已经创建了该用户。 变量说明:

$ userid =要添加到集合的用户ID

$ ownerid = admins userid

$ collectionid =应添加用户的集合。

  

IF($ userid in(SELECT id FROM'users'WHER''totper'= $ ownerid))然后插入'collectionusers'   ('collectionid','userid')VALUES($ collectionid,$ userid);

如果我执行此操作,它看起来像这样

  

IF(8 in(SELECT id FROM'users'WHERE owner = 1))然后插入'collectionusers'   ('collectionid','userid')VALUES(3,8);

我看过:

12.6.5.2. IF Syntax

11.3.2. Comparison Functions and Operators - IN()

我无法弄清楚这种语法有什么问题。

1 个答案:

答案 0 :(得分:2)

您可以使用一个查询来执行此操作。例如:

INSERT INTO collectionusers(collectionid, userid)
  SELECT 3, 8 FROM users WHERE owner = 1 AND id = 8 LIMIT 1

此外,您可以编写存储过程。