sql – Postgres错误:列“id”中的空值 – 在插入操作期间
发布时间:2020-05-24 16:30:32 所属栏目:MsSql 来源:互联网
导读:我使用 postgresql和yii2框架. 我收到了一条非常有趣的错误消息: SQLSTATE[23502]: Not null violation: 7 ERROR: null value in column id violates not-null constraintDETAIL: Failing row contains (null, 1, null, null, null, nu
|
我使用
postgresql和yii2框架.
SQLSTATE[23502]: Not null violation: 7 ERROR: null value in column "id" violates not-null constraint DETAIL: Failing row contains (null,1,null,Demo,1998-01-01,345345435453453,f,10,1470477479,null). 但我检查了我的插入命令,那里没有“id”列! INSERT INTO "advertiser" ("languages","type","name","display_name","title","about","birthday","gender","country_id","county_id","city_id","city_part","street","house_number","phone","public_email","public_url","motto","message","im_facebook","im_skype","has_viber","has_whatsapp","has_sms_response","visible_birthday","is_checked","status","version","user_id","created_at","updated_at") VALUES (NULL,'Demo','','1998-01-01',NULL,'345345435453453',FALSE,1470477479) RETURNING "id"
所以我真的无法理解这个错误信息.我没有发现Postgres或Yii尝试插入空ID值或什么. 顺便说一下,你可以找到结构 Table "public.advertiser"
Column | Type | Modifiers | Storage | Stats target | Description
-----------------------+------------------------+---------------------------------+----------+--------------+-------------
id | integer | not null | plain | |
user_id | integer | | plain | |
country_id | integer | | plain | |
county_id | integer | | plain | |
city_id | integer | | plain | |
district_id | integer | | plain | |
type | smallint | | plain | |
name | character varying(255) | not null | extended | |
display_name | character varying(255) | default NULL::character varying | extended | |
title | character varying(255) | default NULL::character varying | extended | |
about | text | | extended | |
birthday | date | not null | plain | |
city_part | character varying(255) | default NULL::character varying | extended | |
street | character varying(255) | default NULL::character varying | extended | |
house_number | character varying(20) | default NULL::character varying | extended | |
phone | character varying(15) | not null | extended | |
public_email | character varying(255) | default NULL::character varying | extended | |
public_url | character varying(255) | default NULL::character varying | extended | |
motto | character varying(255) | default NULL::character varying | extended | |
message | text | | extended | |
gender | smallint | not null default 1 | plain | |
im_facebook | character varying(255) | default NULL::character varying | extended | |
im_skype | character varying(255) | default NULL::character varying | extended | |
has_viber | boolean | not null default false | plain | |
has_whatsapp | boolean | not null default false | plain | |
has_sms_response | boolean | not null default false | plain | |
visible_birthday | boolean | not null default false | plain | |
status | smallint | not null default 10 | plain | |
is_checked | boolean | not null default false | plain | |
geo_latitude | double precision | | plain | |
geo_longitude | double precision | | plain | |
languages | integer[] | | extended | |
created_at | integer | | plain | |
updated_at | integer | | plain | |
version | bigint | default 0 | plain | |
Indexes:
"advertiser_pkey" PRIMARY KEY,btree (id)
你有什么建议吗?我应该在哪里寻找问题? 解决方法您没有为id插入值.由于您没有显式设置它,因此它隐式地给出了一个空值,当然,它不是主键列的有效值.您可以通过将此列定义为serial而不是普通的旧整数来避免这种情况,并将所有繁重的工作留给数据库.(编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
