postgresql - 无法创建外键;关系“”不存在
问题描述
我正在尝试为'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
)
解决方案
推荐阅读
- angular - Angular/TypeScript - 映射从多个表接收到的 API 数据
- opencv - Opencv:来自cv.MatchShapes的一个正确的返回值
- google-home - 开发的动作无法使用nest Mini进行测试
- driver - 启用多个 MSI
- json - C++ 如何将字符串转换为 json 对象?
- android - Kotlin App:IllegalStateException:指定的孩子已经有一个父母。您必须先在孩子的父母上调用 removeView()
- algorithm - 您如何确定预算限制下的分配?
- visual-studio - 使用 SSIS 验证文件头
- python - Python多线程,线程突然停止
- javascript - 如何更改按日期和月份搜索的默认值