当我得到异常时,我正在使用它作为LIMIT Incorrect syntax near the keyword 'TOP'.
也许我可以在没有问题的情况下省略它,但如果我不能在哪里放顶?
INSERT INTO [user_data] (...) SELECT
...
@14 WHERE not exists (SELECT * FROM [user_data] WHERE [email] = @15 OR
[name] = @16 OR
[unconfirmed_email] = @17 TOP 1);
Run Code Online (Sandbox Code Playgroud)
TOPSELECT在SQL Server中追求,而不是像LIMIT在其他DBMS中那样.
SELECT TOP 1 <fields> FROM ...
所以你的查询将成为:
INSERT INTO [user_data] (...) SELECT
...
@14 WHERE not exists (SELECT TOP 1 * FROM [user_data] WHERE [email] = @15 OR
[name] = @16 OR
[unconfirmed_email] = @17);
Run Code Online (Sandbox Code Playgroud)