this is not an issue, every table should have a primary key populated for every record.
If you have this problem every time when you want to erase some campaign then it is a configuration issue probably (primary key is not populated). I understood that this is a one particular case that you have experienced (we don't know reason why this happened, we just found a way to delete it)
Please, try deleting campaign from database directly or use SQL code node.
Find Internal name of your campaign (because missing Id) with Generic query editor and set sql query inside of node:
DELETE FROM NMSOPERATION WHERE SINTERNALNAME = 'internal_name_of_your_campaign'
Maybe will work for you.
It's a little weird what is happening, but the first thing im thinking to do, is to go from Tools > Generic query editor, and search that workflow if still showing using the query editor. if not then is something wrong with the display.
you can too go to administration > Production > Objects Created automatically, and delete it from there if shows.
If you have acces to the Data Base, you can too search it there directly and if you find it delete it using sql methods.
Thanks Milan.. using SQL Query I am able to delete the campaign.
Any idea why I am getting error while trying to delete it fro the console? It looks like, the delete operation is looking for the "OperationId" attribute in nmsOperation schema, which is not exists, hence throwing error. But not sure why this out of the box functionality throwing error.