Используйте следующее при создании таблицы или скрипте изменения:
create table character (
field1 varchar(30),
...,
login varchar(12),
password varchar(128),
foreign key (login, password) references login (login, password)
)
Теперь, как говорится, кажется странным включать пароль в ваш первичный ключ таблицы входа в систему. Я бы порекомендовал просто иметь первичный ключ в таблице входа в систему или, возможно, даже суррогатный ключ (целочисленный идентификатор). Используя подход, включающий логин и пароль, вы разрешите несколько регистраций под одним логином. Это может быть хорошо, но кажется, что вы действительно можете создать ситуацию, когда один пользователь случайно создает несколько учетных записей. Кроме того, это усложнит управление восстановлением утерянного пароля. Наконец, каждый раз, когда пароль изменяется (и пользователь может изменить его в любое время), его необходимо будет обновлять в каждом поле, на которое делается ссылка, и это значительно усложняет смену пароля.