Php Mysql-在插入另一个表之前检查表
我想知道,管理员试图添加一个用户到一个集合实际上已经创建了该用户。 变量说明: $userid=要添加到集合的用户ID $ownerid=管理员用户ID $collectionid=应将用户添加到的collectionid 如果($userid in(从'users'中选择id,其中'owner'=$ownerid)),则插入到'collectionusers'中 ('collectionid','userid')值($collectionid,$userid) 如果我执行这个,它看起来是这样的 如果是(8英寸(从“用户”中选择id,其中所有者=1)),则插入“collectionusers” ('collectionid','userid')值(3,8) 我看过:Php Mysql-在插入另一个表之前检查表,php,mysql,nested,Php,Mysql,Nested,我想知道,管理员试图添加一个用户到一个集合实际上已经创建了该用户。 变量说明: $userid=要添加到集合的用户ID $ownerid=管理员用户ID $collectionid=应将用户添加到的collectionid 如果($userid in(从'users'中选择id,其中'owner'=$ownerid)),则插入到'collectionusers'中 ('collectionid','userid')值($collectionid,$userid) 如果我执行这个,它看起来是这样的
我不知道这个语法有什么问题。您可以使用一个查询来完成。例如:
INSERT INTO collectionusers(collectionid, userid)
SELECT 3, 8 FROM users WHERE owner = 1 AND id = 8 LIMIT 1
此外,您还可以编写存储过程。是否必须在一条SQL语句中完成所有工作?不一定。这是为了更干净的代码。更干净什么?一个目的不明显的查询比两个单独的简单操作更干净?