support primary key