SQL 插入触发器的语法无效

SQL invalid syntax for insert in a trigger

正在尝试编写测试触发器,但显然存在语法错误。

我的SQL:

CREATE TRIGGER [dbo].[TR_TRIGGER_TEST] 
ON [dbo].[CP_TEST] 
AFTER INSERT
AS 
BEGIN
    SET NOCOUNT ON;

    INSERT INTO CP_CHECK (CHECK) VALUES ('Y');
END
GO

我收到此错误:

Msg 156, Level 15, State 1, Procedure TR_TRIGGER_TEST, Line 7
Incorrect syntax near the keyword 'CHECK'.

我试过用几种不同的方式格式化它,但没有找到金票。有什么建议么? CP_CHECK table 包含 IDCHECKupdated_atcreated_at 列。

将语句写成

CP_CHECK (`CHECK`) VALUES ('Y');

CHECK 是保留关键字,因此您需要以某种方式对其进行转义。

--编辑--
正如@GurV 所指出的,由于其 SQL 服务器,您可以使用方括号 [] 来转义关键字 CHECK like

CP_CHECK ([CHECK]) VALUES ('Y');