Automatically create linked row in a different table What I mean is that for example if I have a table user with id name prefId, and a second table preferences with id etc..., is it possible that when I add a row to user, it would automatically create a row in preferences and set the row's id to prefId? Should I create the preferences row first and manually put its id? And is this a good practice?
Use triggers, see here

Create an insert trigger on the user table. In your trigger, create a record on the preferences table, get its id and store it in prefId on user.