o agrupamento padrão do banco de dados não diferencia maiúsculas de minúsculas. então o usuário admin e Admin ou admin são os mesmos. Ao criar o usuário, verifique o banco de dados se o mesmo nome de usuário já existe ou não.
parece que você está usando ordenação sensível a maiúsculas e minúsculas. você pode usar ordenação que não diferencia maiúsculas de minúsculas para essa tabela de usuário para que sua consulta funcione bem.
ou
ao criar o usuário e verificar o banco de dados para entrada duplicada, use
LCASE
funcionar da seguinte forma SELECT * FROM USERS WHERE LCASE(username) = 'admin'