gpt4 book ai didi

sql - 将 PostgreSQL 表列中的默认值设置为查询中的值

转载 作者:行者123 更新时间:2023-11-29 11:20:27 25 4
gpt4 key购买 nike

我想做以下事情

ALTER TABLE runs ADD COLUMN userId bigint NOT NULL DEFAULT (SELECT id FROM users WHERE email = 'admin@example.com');

但它一直给我语法错误。我怎么能这样呢?非常感谢任何帮助。 ;)

最佳答案

  1. 创建一个函数,以 email 作为参数从表 users 中获取 id

    CREATE OR REPLACE FUNCTION id_in_users(iemail varchar) 
    RETURNS int LANGUAGE SQL AS $$
    SELECT id FROM users WHERE email = email;
    $$;
  2. 修改表格

    ALTER TABLE runs ADD COLUMN userId bigint NOT NULL DEFAULT     
    id_in_users('admin@example.com');

SQL FIDDLE(DEMO)

关于sql - 将 PostgreSQL 表列中的默认值设置为查询中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25378806/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com