在进行简单查询时出现了运算符不匹配的错误。这是什么原因导致的?
dev_db=# `select * from registrants where user=1;` ERROR: operator does not exist: name = integer LINE 1: select * from registrants where user=1; ^ HINT: No operator matches the given name and argument type(s). You might need to add explicit type casts.
表定义:
dev_db=# \d+ registrants Table "public.registrants" Column | Type | Modifiers | Storage | Description --------------+--------------------------+--------------------+----------+------------- user | integer | not null | plain | degree | text | | extended | title | text | | extended | organization | text | | extended | address | text | | extended | city | text | | extended |注:此处涉及到数据类型转换问题,您可能需要添加显式类型转换。
Indexes: "registrants_pkey" PRIMARY KEY, btree ("user") Foreign-key constraints: "registrants_country_fkey" FOREIGN KEY (country) REFERENCES countries(id) "registrants_user_fkey" FOREIGN KEY ("user") REFERENCES users(id) Referenced by: TABLE "class_evaluations" CONSTRAINT "class_evaluations_registrant_fkey" FOREIGN KEY (registrant) REFERENCES registrants("user")
Triggers: archive_registrants BEFORE DELETE OR UPDATE ON registrants FOR EACH ROW EXECUTE PROCEDURE archive_reg_table() Has OIDs: no