PostgreSQL中serial是关键字还是数值类型?大小写写法规范是什么?
PostgreSQL中SERIAL与serial的写法选择
结论很明确:两种写法都可以,执行效果完全一致,具体选哪种取决于你的代码风格习惯。
背后的原因:
serial不是SQL关键字
官方文档明确说明smallserial、serial、bigserial并非真正的数据类型,只是PostgreSQL提供的语法糖——帮你自动创建整数列+对应的序列来实现自增ID。正因为它不是标准SQL关键字,所以你在PostgreSQL的关键字列表里找不到它。PostgreSQL对标识符大小写不敏感
在PostgreSQL中,除非你用双引号包裹标识符,否则不管是大写还是小写的写法,都会被统一转换为小写处理。所以SERIAL和serial在执行时没有任何区别,都会生成相同的表结构和序列。文档写法的差异
官方文档里大部分用小写的serial,但示例中出现大写SERIAL的情况,只是为了和SQL关键字(比如CREATE、TABLE)的大写风格保持统一,并非强制要求。
最佳实践
- 如果你习惯把SQL关键字(如CREATE、INSERT、TABLE)统一大写,那么可以把
SERIAL也大写,保持代码风格一致; - 如果你更倾向于跟随文档里的主流小写写法,用
serial也完全没问题。
举个例子,下面两个语句执行后效果完全相同:
CREATE TABLE user_info ( id serial PRIMARY KEY );
CREATE TABLE user_info ( id SERIAL PRIMARY KEY );
内容的提问来源于stack exchange,提问作者Dante
相关产品推荐
相关产品推荐

