Postgresql 无法创建外键;关系“&引用;不存在
我正在尝试为“transactions”表创建一个名为“user\u id”的外键,其中user\u id引用了“user\u accounts”表的“id”列。当我执行脚本时,我不断收到一个错误,该脚本说:Postgresql 无法创建外键;关系“&引用;不存在,postgresql,Postgresql,我正在尝试为“transactions”表创建一个名为“user\u id”的外键,其中user\u id引用了“user\u accounts”表的“id”列。当我执行脚本时,我不断收到一个错误,该脚本说: SQL Error [42P01]: ERROR: relation "user_accounts" does not exist 该表显然存在,因为我一直在用可以在dbeaver中查看的数据填充user_accounts表。我正在使用Postgres,我知道引号/大
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
)
这在dbfiddle中有效:。我对Postgres的经验很少,但是当您同时运行所有程序时会出现问题吗?如果先创建
用户帐户
,然后创建交易
,会怎么样?如果在每个命令后面加一个分号呢?而且user\u accounts.id
是否是int
?@GordonLinoff-yeah超级困惑为什么它对我不起作用dbeaver中显示的表user\u帐户的架构是什么?是公共的吗?我想出来了。我是在错误的模式:)我的道歉,漫长的一天@AkhileshMishra非常感谢您在dbfiddle中的工作:。我对Postgres的经验非常少,但是当您同时运行时会出现问题吗?如果先创建用户帐户
,然后创建交易
,会怎么样?如果在每个命令后面加一个分号呢?而且user\u accounts.id
是否是int
?@GordonLinoff-yeah超级困惑为什么它对我不起作用dbeaver中显示的表user\u帐户的架构是什么?是公共的吗?我想出来了。我是在错误的模式:)我的道歉,漫长的一天@AkhileshMishra非常感谢你