Sql server 使用';如果存在';SQL语句内部两次
我正在尝试创建一个不存在的用户。听起来很简单,但我需要控制是否存在其他东西。所以我用了两次“如果存在”。这是我的密码:Sql server 使用';如果存在';SQL语句内部两次,sql-server,sql-insert,exists,Sql Server,Sql Insert,Exists,我正在尝试创建一个不存在的用户。听起来很简单,但我需要控制是否存在其他东西。所以我用了两次“如果存在”。这是我的密码: IF NOT EXISTS (SELECT userID FROM UserTable WHERE usernameID = (IF NOT EXISTS(SELECT usernameID FROM Usernam
IF NOT EXISTS (SELECT userID
FROM UserTable
WHERE usernameID = (IF NOT EXISTS(SELECT usernameID
FROM UsernameTable
WHERE name = 'Martijn')
BEGIN
INSERT INTO UsernameTable(name)
VALUES ('Martijn');
END
SELECT usernameID
FROM UsernameTable
WHERE name = 'Martijn';)
AND country = 'Netherlands')
BEGIN
INSERT INTO UserTable(usernameID, country)
VALUES (1, 'Netherlands');
END
我怎样才能解决这个问题?因为MySQL不喜欢检查我的
usernameID
的IF存在。我需要一个程序吗?我搜索了一些解决方案,但最好是使用程序。
如果在过程中存在多个,则可以创建多个。
创建新用户后,我还可以保存ID。在SQL Server中,您应该可以执行以下操作:
IF NOT EXISTS (SELECT userID FROM UserTable WHERE name = 'Martijn')
BEGIN
INSERT INTO UsernameTable(name, country)
VALUES ('Martijn', 'Netherlands');
END;
这是一次理解SQL代码的尝试。如果不存在“Martijn”,请在表中插入“Martijn”。您需要两个命令—一个用于用户,另一个用于用户/国家组合。是否无法将所有内容都放在一个SQL语句中?请创建一个简单的架构。您使用的是哪个版本的MySQL?您可以使用upsert ish语法来完成所需的操作。我使用的是Microsoft SQL Server Management Studio 2017。最新版本。您在帖子中标记了MySQL,但您说您使用的是Microsoft SQL Server客户端。您使用的是MySQL还是Microsoft SQL Server?