Global keys are always unique! I think you are confused because in a traditional sql environment you can only insert a row using a key and value pair once. After that, to change the value you do an update!

In cache, there is no distinction between setting a global node the first, the second or the third time.

insert into student(studentid, name) values(1, 'john')

to change this, you must do an update:

update student set name = 'john smith' where studentid  = 1

in cache, you can simply do this:

set ^student(1)="john"

and then do:

set ^student(1)="john smith"

There is no obvious distinction between n insert and an update!