• Thanks for the question Hugo, and more thanks for your inevitably thorough follow-up explanations and replies to objections.

    I got it wrong in the "best way possible" which for me is just fine: like others who've replied, I usually explicitly create constraints and keys after table creation.

    To my mind, this kind of behavior is akin to the default length of 1 when declaring a VARCHAR() without explicitly setting a length. If I keep to a standardized way of doing things explicitly, I don't have to remember obscure exceptions to expected behavior.

    Rich