Không, MySQL đang làm đúng, theo đặc tả SQL-99.
https://mariadb.com/kb/en/sql- 99 / bind_type-unique-binding /
Nếu bạn sử dụng ràng buộc UNIQUE nhưng không muốn nhiều hàng có NULL, hãy khai báo các cột là NOT NULL
và cấm bất kỳ hàng không có NULL.