ログイン データを格納する Mysql データベースがあります。パスワードとソルトは sha512 ハッシュとして保存されます。ここで、パスワード列の値が変更された場合、ソルトを変更する必要があるか、mysql コマンドが無効であるという条件を実装したいと考えています。
CREATE TABLE loginData(
id int UNSIGNED SERIAL DEFAULT VALUE,
email varchar(64) NOT NULL,
password binary(64) NOT NULL,
salt binary(64) NOT NULL,
PRIMARY KEY(id))
ENGINE=InnoDB;
今、外部キーの整合性制約のようなものを考えていましたが、明らかに、パスワードとソルトの列を外部キーとして接続するべきではありません。Mysql側でパスワード列のみを更新しないようにする方法はありますか?新しいソルトを指定する必要がありますか? コードにアクセスする側だけでそれを防ぐのは不完全だと感じます。