Không, bạn không cần khóa chính để làm cho một bảng hoạt động trong MySQL. Điều đó nói rằng, khóa chính cho phép một giá trị duy nhất tham chiếu đến một hàng trong bảng từ một bảng khác hoặc trong bất kỳ mã nào sử dụng bảng.
Bạn cần có khóa chính để làm cho bảng hoạt động tốt trong MySQL. Các chỉ mục (mà khóa chính là một trong số đó) cho phép MySQL tìm kiếm thông qua các tập con nhỏ, được tối ưu hóa cao của bảng để xử lý các mối quan hệ và tìm kiếm. Nói chung, bất kỳ trường nào bạn sử dụng trong WHERE
mệnh đề hoặc sử dụng để liên kết hai bảng với nhau nên được lập chỉ mục.