我正在尝试创建一个不存在的用户。听起来很简单,但我需要控制是否存在其他东西。所以我使用了两次“ IF EXISTS”。这是我的代码:
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不喜欢我正在检查IF EXISTS
的{{1}}。我需要一个程序吗?
答案 0 :(得分:0)
我搜索了一些解决方案,但最好的方法是使用PROCEDURE
。
您可以在IF EXISTS
内创建多个PROCEDURE
。
创建新用户后,我还可以保存我的ID。
答案 1 :(得分:0)
在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”。