- You get a reliable list of official country codes like this one: https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes
- You don't manually import it, you write some kind of script to do that for you
Learn Programming
Posting Etiquette
-
Ask the main part of your question in the title. This should be concise but informative.
-
Provide everything up front. Don't make people fish for more details in the comments. Provide background information and examples.
-
Be present for follow up questions. Don't ask for help and run away. Stick around to answer questions and provide more details.
-
Ask about the problem you're trying to solve. Don't focus too much on debugging your exact solution, as you may be going down the wrong path. Include as much information as you can about what you ultimately are trying to achieve. See more on this here: https://xyproblem.info/
Icon base by Delapouite under CC BY 3.0 with modifications to add a gradient
Which country list will you use? Some countries are not recognized universally. Some countries have different names depending on where you are (Macedonia is known as Former Yugoslavic Republic of Macedonia in Greece and several other countries, mainly because Greece was being bitchy).
The point is, there isn't one best practice because a country list is inherently political. And politics are always messy.
But yeah, a FK to a countries table is reasonable. Good luck.
Since 2018 they're actually now The Republic of North Macedonia as per the Prespa Agreement between North Macedonia and the Hellenic Republic.
Which really goes to illustrate your point about politics and show you can't rely on names to be permanent keys for joining anything.
ISO 3166 defines:
- official country name
- short name
- numerical code
- two character abbreviation
- three character abbreviation
With that, you can import a list of all of these countries to a table and FK to the numerical code