我使用MySQL。我有一个用户表:
id (int primary key)
name (text)
login (text)
表格自动填写。从其他来源,我从此表中的用户名获取信息,获取他们的ID。如果用户尚未在表中,则应添加该用户,并将其返回到ID
该计划的工作原理如下:
1)代表用户获取ID。
sql = "SELECT * FROM `users` WHERE `name` = 'user_name'
2)如果找不到,则添加用户
if result is None:
sql2 = "INSERT INTO `users` (`name`) VALUES ('user_name')
查询不返回添加的元素ID,因此您必须再次发出请求以了解用户ID
sql3 = "SELECT * FROM `users` WHERE `name` = 'user_name'
最后需要进行3次查询以获取表中尚未存在的用户ID。因为它证明了一个相当复杂的工作方案。
是否可以请求在没有合规性的情况下创建记录并立即返回数据?
或者可能采取不同的行动?总是添加一个新用户,但在存在这样的表时没有发生添加。当然要立即归还他的身份证明?
告诉我如何提出这一切要求?