How to deal with circular foreign key I have two tables:

Games(
    name,
    current_step, #foreign key to Steps table
    #other fields...
)

Steps(
    name,
    game_id, #foreign key to Games table
    #other fields...
)


In other words what I want to achieve is a Steps table where each step is linked to its game and in some way I want to keep track of current step. Which is the best design to do this? Is circular foreign key acceptable?
Don't put the step in the games table, it's unnecessary.

In your steps table, make a bit column like current_step, and add a unique filtered index on (game_id, current_step) WHERE current_step = 1.

This will prevent duplicates and prevent the circular reference and data integrity issues that are sure to ensue.