A finite field extension $K\supset\mathbb Q$ contains finitely many roots of unity 
I must show that any finite field extension $K\supset \mathbb Q$ can only contain finitely many roots of unity.

I reasoned in the following manner:
Let $n<\infty$ be the degree of $K$ over $\mathbb Q$. Now, for any $\alpha\in K$ we must clearly have $\mathbb Q(\alpha)\subseteq K$. So the degree of $\alpha$ over $\mathbb Q$ is at most $n$. Hence, if we can show that there are only finitely many roots of unity of degree less than or equal to $n$, we are done.
Now, since any root of unity of degree less than or equal to $n$ is a primitive $k$'th root of unity for some $k\leq n$ it follows that $K$ can at most contain all roots of the finite list of cyclotomic polynomials $\Phi_1,\Phi_2,...,\Phi_n$ which each has finitely many roots. All together this will be finitely many, which proves the claim.
So my questions are:


*

*Is this correct/enough?

*When this exercise was on the blackboard in class a rather lengthy argument came up. So am I missing some important point here?


My final version
Having understood the point I missed before, I now see that it will suffice to argue that $\operatorname{deg}(\Phi_k)=\varphi(k)$ eventually exceeds $n$. We know that
$$
\varphi(k)=\prod_ j\varphi(p_j^{a_j})
$$
where $p_j$ are the prime factors of $k$ (similarly to what Ewan Delanoy gave in his answer). Now first note that $\varphi(p^k)$ is stricly increasing both with the prime $p$ and the multiplicity $k$. So we may find a multiplicity $M$ such that $\varphi(2^M)>n$ thus implying $\varphi(p^M)>n$ for all primes. Also any prime $p>n+1$ must have $\varphi(p^k)\geq p-1>n$ for all $k$.
This shows that $\varphi(k)>n$ if one of the prime factors of $k$ is larger than $n+1$ or one of the multiplicities is at least $M$. This will certainly happen for $k$ large enough.
 A: Your proof is correct except on one point.
It is not true that “a root of unity of degree $\leq n$ is a 
primitive $k$-th root of unity for $k\leq n$.”, Indeed, $z=exp(\frac{2\pi i}{3})$ has degree $\leq 2$ but is a primitive $3$-rd of unity (as noted in user10676’s comment).
In general, a $k$-th primitive root of unity has degree $\phi(k)$ where $\phi$ is Euler’s totient function.
What we need to show is that for any integer $M\gt 0$  the set 
 $X=\lbrace k | \phi(k) \leq M\rbrace$ is finite.
We will use the well-known formula :
$$
\phi(\prod_{j}p_j^{a_j})=\prod_{j}(p_j-1)p_j^{a_j-1} \tag{1}
$$
Let $p$ be the smallest prime $ > M$. If $k$ has a prime divisor $q$
 that is $> p$, then by (1)  $q-1$ divides $\phi(x)$, so $\phi(x) \geq q-1 >M$.
 So if $x\in X$, $x$ can only be divisible by the primes
 $p_1,p_2, \ldots ,p_r$ that are $\leq p$. So we can write
$$
 x=p_1^{a_1}p_2^{a_2} \ldots p_r^{a_r}
 $$ 
Now for each $j$, $p_j^{a_j-1}$ divides $\phi(x)$ by (1), 
 so $\phi(k) \geq p_j^{a_j-1}$. We deduce the bound
 $p_j^{a_j-1} \leq M$, and hence $a_j \leq 1+\frac{\log(M)}{\log(p_j)}$. So there are at most $2+\frac{\log(M)}{\log(p_j)}$ values for the exponent $a_j$.
This shows that $X$ is finite : there are at most 
$$
 N=\prod_{j=1}^{r} ( 2+\frac{\log(M)}{\log(p_j)})
 $$ 
elements in $X$. 
