我想做以下事情
ALTER TABLE runs ADD COLUMN userId bigint NOT NULL DEFAULT (SELECT id FROM users WHERE email = '[email protected]');
但它一直给我语法错误。我怎么能做这些呢? 非常感谢任何帮助。 ;)
创建一个函数,以
id
作为参数,从表 users
中获取 email
。
CREATE OR REPLACE FUNCTION id_in_users(iemail varchar)
RETURNS int LANGUAGE SQL AS $$
SELECT id FROM users WHERE email = iemail;
$$;
并更改表格
ALTER TABLE runs ADD COLUMN userId bigint NOT NULL DEFAULT
id_in_users('[email protected]');