首页 > 解决方案 > 无法创建外键;关系“”不存在

问题描述

我正在尝试为'transactions'表创建一个名为'user_id'的外键,其中user_id引用'user_accounts'表'id'列。当我执行以下脚本时,我不断收到错误消息:

SQL Error [42P01]: ERROR: relation "user_accounts" does not exist

该表显然存在,因为我一直在用可以在 dbeaver 中查看的数据填充 user_accounts 表。我正在使用 Postgres,并且我知道引号/大写确实会使事情变得困难,但是我已经执行了整个脚本,而没有在任何表或列名称上大写或使用引号。虽然,我确实将我的一些列数据类型大写,但我想知道这是否是问题所在?如果是这样,我应该采取什么方向让我的外键工作?

我的脚本:

create table if not exists user_accounts (
    id serial primary key,
    first_name VARCHAR(30),
    last_name VARCHAR(30),
    username VARCHAR(20),
    password VARCHAR(20),
    deposit INT,
    creditScore INT 
)

create table if not exists transactions (
    transaction_id serial primary key,
    user_id INT references user_accounts(id) not null,
    transaction_type VARCHAR(20),
    amount INT
)

标签: postgresql

解决方案


推荐阅读