使用INSERT INTO时出现错误消息

时间:2012-03-22 00:03:00

标签: postgresql pgadmin

这是我在postgreSQL中编写的学生表(摘录):

CREATE TABLE "Student"
(
  ucas_no integer NOT NULL,
  student_name character(30) NOT NULL,
  current_qualification character(30),
  degree_of_interest character(30),
  date_of_birth date NOT NULL,
  street_address character(30) NOT NULL,
  city character(30) NOT NULL,
  post_code character(10) NOT NULL,
  country character(20) NOT NULL,
  phone_no character(15) NOT NULL,
  gender character(6) NOT NULL,
  user_name character(15) NOT NULL,
  "password" character(30) NOT NULL,
  CONSTRAINT pk_ucas_no PRIMARY KEY (ucas_no),
  CONSTRAINT ten_digits_only CHECK (length(ucas_no::character(1)) >= 10 OR length(ucas_no::character(1)) <= 10)
)

现在我正在使用pgAdmin的查询工具功能将数据插入表中。这是INSERT INTO代码...

INSERT INTO Student
VALUES
('912463857', 'Jon Smith', 'A-Level', 'BSc(Hons) Computer Science', '10/06/1990', '50 Denchworth Road', 'LONDON', 'OBN 244', 'England', '02077334444', 'Male', 'jonsmi', '123456');

我遇到的问题是,我收到一条错误消息,说学生表不存在,当它显然在我的数据库中时。这是错误消息:

ERROR:  relation "student" does not exist
LINE 1: INSERT INTO Student (ucas_no, student_name, current_qualific...
                    ^

********** Error **********

ERROR: relation "student" does not exist
SQL state: 42P01
Character: 13

任何人都知道出了什么问题?

2 个答案:

答案 0 :(得分:8)

您已经创建了一个表"Student",并且您正试图插入一个名为Student的表格,这些表格不同

试试这个

INSERT INTO "Student" VALUES('912463857', 'Jon Smith', 'A-Level', 'BSc(Hons) Computer Science', '10/06/1990', '50 Denchworth Road', 'LONDON', 'OBN 244', 'England', '02077334444', 'Male', 'jonsmi', '123456');

这将有效

请详细了解qoutes omitting-the-double-quote-to-do-query-on-postgresql

答案 1 :(得分:2)

"4.1.1. Identifiers and Key Words"中查找“带引号的标识符”。

至于你的第二个问题(不要对你的问题发表评论,如果相关就编辑它们,如果不相关则创建新的) - 阅读手册的全部"Chapter 4. SQL Syntax",但最低限度为"4.1.2. Constants"