You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

创建SQL触发器时表名Transaction被识别为函数导致代码无法运行

问题原因

Transaction属于SQL内置保留关键字,是数据库事务相关语法的专用标识,编辑器会优先将其识别为原生语法元素而非用户创建的表,因此会出现标蓝、语法报错无法运行的情况。

修复方案

给作为表名使用的Transaction加上对应数据库支持的分隔标识符,强制数据库将其解析为用户自定义表对象即可,不同数据库的对应写法:

  • SQL Server / Access 环境:用方括号包裹表名
CREATE TRIGGER soru2
   ON [Transaction]
   AFTER insert
AS 
  • MySQL / MariaDB 环境:用反引号包裹表名
CREATE TRIGGER soru2
   ON `Transaction`
   AFTER insert
AS 
  • PostgreSQL / Oracle 等遵循ANSI SQL标准的环境:用双引号包裹表名(注意该写法默认要求引号内的名称大小写和实际表名完全匹配)
CREATE TRIGGER soru2
   ON "Transaction"
   AFTER insert
AS 

日常设计库表时,尽量避免使用SQL保留关键字作为表名、字段名,可以从根源上避免这类语法识别冲突问题。

内容的提问来源于stack exchange,提问作者Musa Tnkci

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 17:09:14