次のように、アップロードされたファイルの詳細を保存するための MySQL テーブルがあります。
CREATE TABLE files (
file_id bigint not null primary key auto_increment,
file_name text,
file_path text,
file_extension varchar(15),
file_link text);
ディスク上のファイルの実際の名前はfile_id
、レコードを挿入するときにテーブルによって生成されたものに設定されます。そのため、あらゆる種類の詳細を記録できますが、データベースはこの時点でファイルが何と呼ばれているかを実際には認識していません。
確かにUPDATE
、列を設定した直後に別のステートメントを実行するのは簡単file_link
ですが、ここでもう少しエレガントなことを行う方法があるかどうか疑問に思いましたか?
私がやりたいのは、値をfile_link
自動的INSERT
にこれに設定することです。直後にCONCAT(file_path, file_id, file_extension)
別のステートメントを実行する必要はありません。UPDATE
誰かが私がこれを行う方法を知っていますか?それが悪い考えである場合は、その理由を説明できますか?
PS違いがある場合は、PHPを使用してこれらのステートメントを実行しています。