INT(10) nie oznacza liczby 10-cyfrowej, oznacza liczbę całkowitą o szerokości wyświetlania 10 cyfr. Niezależnie od tego, czy umieścisz INT(2) czy INT(10), MySQL nadal przechowuje tylko (w tym przypadku bez znaku) INT, która ma maksymalną wartość 4294967295.
Możesz użyć BIGINT zamiast INT, aby zapisać go jako liczbę. Nie polecałbym tego jednak, ponieważ nie pozwoli na numery międzynarodowe. Jeśli jesteś pewien, że Twoja aplikacja będzie używać tylko numerów amerykańskich, użycie BIGINT pozwoli Ci zaoszczędzić 3 bajty na wiersz w porównaniu z VARCHAR(10) - jeśli tego rodzaju rzeczy Cię dotyczą.
Ponieważ jest to numer telefonu (i dlatego nie będziesz wykonywał wobec niego obliczeń numerycznych), spróbuj użyć VARCHAR(20). Pozwala to na prawidłowe przechowywanie międzynarodowych numerów telefonów, jeśli zajdzie taka potrzeba.