开发者社区 > 云原生 > 正文

Seata手写的sql这个是大写的吗?

问题一:Seata手写的sql这个是大写的吗?
0913c70db7cd882a0e74a8aa2e102b1e.png

问题二:传入到TableRecords.buildRecords里面应该也是大写的吧?

展开
收起
青城山下庄文杰 2023-07-21 17:30:15 67 0
4 条回答
写回答
取消 提交回答
  • Seata 是一个开源的分布式事务解决方案,它可以与各种数据库一起使用。在编写 Seata 使用的 SQL 语句时,并没有强制要求 SQL 是大写还是小写,这取决于您的个人偏好和团队的约定。

    通常情况下,在编写 SQL 语句时,建议使用大写字母来表示关键字和保留字,以增加可读性和易于区分。例如:

    SELECT * FROM USERS WHERE ID = 123;
    

    使用大写字母还能避免与表名、列名或其他自定义对象发生重名冲突。

    另一方面,对于标识符(如表名、列名等),可以根据个人或团队的偏好选择使用大写、小写或混合大小写的命名规范。最重要的是,在整个项目中保持一致性。

    2023-07-28 10:37:20
    赞同 展开评论 打赏
  • 回答一:是的
    回答二:你看下select的结果集 和对应的元数据是驱动的,还是mybatis-plus包装的,这里先试构建了select语句,执行后从结果集里拿的 metadata-此回答整理自钉群“Seata(分布式事务)”

    2023-07-24 12:57:56
    赞同 展开评论 打赏
  • 北京阿里云ACE会长

    Seata手写的SQL语句不限定必须大写。

    可以是大小写混合,也可以全部大写或小写。

    举个例子,在Seata的事务日志中,我们可以看到记录了SQL语句的MD5签名:

    apache
    Copy
    undo_log
    {
    "branch_id" : 123,
    "xid" : "123",
    "sql" : "f335bd2554e899c53fd0619c3d137e61",
    "commit_flag" : 0
    }
    而f335bd2554e899c53fd0619c3d137e61对应的SQL语句可能是:

    sql
    Copy
    insert into user (name) values ('john')
    也可能是:

    sql
    Copy
    INSERT INTO USER (NAME) VALUES ('JOHN')
    甚至:

    sql
    Copy
    InSeRt iNtO UsEr (NaMe) VALueS ('john')
    因此Seata记录的是SQL的MD5值,而不是SQL的原始语句。

    2023-07-23 17:58:44
    赞同 展开评论 打赏
  • 从事java行业9年至今,热爱技术,热爱以博文记录日常工作,csdn博主,座右铭是:让技术不再枯燥,让每一位技术人爱上技术

    您好,根据Seata官方文档来看,手写的sql除了数据库关键字以外,表名、字段名还是小写的,具体内容可以参考文档:DML语句

    2023-07-21 18:06:32
    赞同 展开评论 打赏
问答分类:
SQL
问答标签:
问答地址:

阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。

相关电子书

更多
SQL Server 2017 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载