Postgres error: null in id column - during insert operation

I am using postgresql and yii2 framework. Well, I got a very interesting error message:

SQLSTATE[23502]: Not null violation: 7 ERROR: null value in column "id" violates not-null constraint DETAIL: Failing row contains (null, 1, null, null, null, null, 1, Demo, , , , 1998-01-01, , , , 345345435453453, , , , , 1, , , f, f, f, f, 10, f, 1, f, f, f, null, null, null, 1470477479, 1470477479, null). 

But I checked my Paste command and there is no id column there!

 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, 1, 'Demo', '', '', '', '1998-01-01', 1, NULL, NULL, NULL, '', '', '', '345345435453453', '', '', '', '', '', '', FALSE, FALSE, FALSE, FALSE, FALSE, 10, NULL, 1, 1470477479, 1470477479) RETURNING "id" 

Therefore, I really cannot understand this error message. I don’t think Postgres or Yii are trying to insert a null identifier value or what.

By the way, you can find the structure

  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) 

What is your advice? Where should I look for a problem?

+5
source share
2 answers

You do not insert a value for id . Since you are not explicitly setting it, it implicitly gives a null value, which, of course, is not a valid value for the primary key column. You can avoid this whole situation by specifying this column as serial instead of the plain old integer and leaving all the heavy lifting to the database.

+6
source

Change the existing primary key to serial . Read this to change it.

Change int primary key type for serial

0
source

All Articles