错误42P01。没有大括号问题

时间:2014-12-08 18:48:58

标签: postgresql

您好我是PostgreSQL的新手,我不断收到以下错误代码:

错误:关系“联系人”不存在

**********错误**********

错误:关系“联系人”不存在 SQL状态:42P01

有关此错误代码的问题已经在Stack Overflow和在线上被大量提及,但是我已经尝试检查可能会更改我的代码的字母大小写敏感度并且无法找到任何内容的任何大括号。

这就是我尝试创建表格的方式:

 CREATE TABLE CONTACT (
   CONTACT_ID INTEGER,
   BUILDING_NO INTEGER,
   POSTCODE VARCHAR, 
   PHONE_NO INTEGER,
   EMAIL VARCHAR,
   CONSTRAINT PK_CONTACT_ID PRIMARY KEY (CONTACT_ID));

我很感激任何人的帮助,如果这个问题可能已经重复,我很抱歉,谢谢你们:)

2 个答案:

答案 0 :(得分:0)

我复制并粘贴了您的代码,它对我有用。可能是你的postgresql设置的东西?

Success

以下编辑

好的,我将在解决方案中添加更多内容

与Joe Love Said一样,您对订购有疑问。表格的正确排序应该是联系人,状态,学生,公司,应用程序,然后是其他查询。

在您的应用程序表中,行

  CONSTRAINT FK_STATUS_ID FOREIGN KEY (STATUS_ID) REFERENCES STATUS (STATUS_ID),

会给你一个错误。

因为在STATUS表中,您已将ID设置为VARCHAR,而在Application表中,Status是INTEGER。

对于引用公司表的应用程序查询,您仍然存在一些问题。如果你修复它们,你应该很好。

答案 1 :(得分:0)

问题是您正在以错误的顺序创建对象(表)。 在创建使用contact作为外键的表之前创建联系人 - 或者在创建所有表之后创建外键。第一个表“学生”正在引用尚未创建的联系人。

编辑: 此外,您的电话号码字段不应该是整数,它们应该是text或varchar。如果您在数字类型上设置了死区,请使用bigint代替整数。