postgresql - 创建触发器的脚本,它将实现人工键的自动增量
问题描述
插入表时,它将主键(id)的值设置为序列中的下一个值,以确保数据库的用户不需要写入正确的id(它将由触发器生成)。
解决方案
您不需要触发器,您需要一个标识列,generated as identity
用于将该列设置为自动增量
create table tablename(
id int not null generated always as identity primary key
, col1
, col2
, col3
)
因此,每当您插入该表时,您都不需要提及它:
insert into tablename (col1, col2, col3) values (val1,val2,val3)
推荐阅读
- java - 使用 Controller 将 CSV 文件导入数据库以传递 CSV 文件
- typescript - RxJS6 更新问题(mergeMap)
- vega - 为什么 Vega Lite 中的列刻面不能与图层一起正常工作?
- javascript - 如何在 vuejs 中追加多行
- c# - iText7以错误的顺序读出行
- python - 编写一个函数,当函数参数是列表的值时,返回列表中项目的索引
- electron - 我应该如何在 Electron 中组织我的代码?
- r - 计算数据框中一行的中位数并保存到新变量
- symfony - Typo3 - 如何在 symfony commandController 中获取 extbase 上下文
- html - html 将环境变量注册为未定义