Postgresql更新表字段为另一张表的字段

更新表字段为另一张表的字段

update std_mendian_advert
set dept_id = sys_employee.dept_id 
from sys_employee
where std_mendian_advert.creator_id = sys_employee.id

PostgreSQL 中,我们可以使用序列(Sequence)来实现字段自增。可以先在数据库中创建一个序列,然后将需要自增的字段与该序列关联起来即可。 具体步骤如下: 1. 创建序列 使用 CREATE SEQUENCE 命令创建一个序列,例如: ```sql CREATE SEQUENCE my_sequence START 1 INCREMENT 1 MINVALUE 1 MAXVALUE 10000 CACHE 1; ``` 这里创建了一个名为 my_sequence 的序列,起始值为 1,递增值为 1,最小值为 1,最大值为 10000,缓存大小为 1。 2. 将字段与序列关联 在创建时,将需要自增的字段的默认值设置为序列的 nextval() 函数,例如: ```sql CREATE TABLE my_table ( id integer DEFAULT nextval('my_sequence'::regclass) PRIMARY KEY, name varchar(50) ); ``` 这里将 my_table 中的 id 字段与 my_sequence 序列关联起来,每次插入数据时,id 字段的值会自动从 my_sequence 序列中获取下一个值。 3. 插入数据 现在可以插入数据了,例如: ```sql INSERT INTO my_table (name) VALUES ('John'); ``` 这里并没有指定 id 字段的值,但是 id 字段的值会自动从 my_sequence 序列中获取下一个值。 4. 查看数据 可以使用 SELECT 命令查看插入的数据,例如: ```sql SELECT * FROM my_table; ``` 这里可以看到,id 字段的值已经自动增加了。 注意事项: - 序列名称需要用单引号括起来,并且需要加上 ::regclass 转换为 regclass 类型。 - 可以为多个字段设置相同的序列,从而实现多字段自增。 - 如果需要删除序列,可以使用 DROP SEQUENCE 命令删除。但是需要注意,如果删除了序列,已经使用该序列的将无法继续自增。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值