だから私は現在、MMO(大規模マルチプレイヤーオンライン)用のデータベースを作成しています。このデータベースには、ゲーム内のすべてのアイテム (鎧、武器、クエスト、NPC など) がリストされます。私は現在、それぞれの異なるカテゴリがデータベース内に独自のテーブルを持っている場所に設定しています。つまり、武器、防具などのテーブルです。データはテーブルに表示され、その名前がリンクとなり、クリックした内容に関する詳細ページに移動します。
すべてのテーブルに ID フィールドがあり、自動インクリメントされるため、各行には独自の ID があります。しかし、複数の異なるテーブルがあるため、ID が重複します。リンクの仕組み上、これは受け入れられません。「identifier」という 2 番目のフィールドを作成しました。デフォルト値は各テーブルに基づいています。したがって、鎧テーブルのこの列のデフォルト値は「鎧」です。
次に、"combined" という 3 番目のフィールドを作成しました。ここが難しい部分です。データがテーブルに挿入される前に、トリガーが CONCAT を使用して「id」フィールドと「identifier」フィールドを結合し、結合されたフィールドに配置するトリガーを作成しました。したがって、テーブルの数に関係なく、一意の ID を作成します。ただし、ID フィールドは自動的にインクリメントされるため、トリガーは別の数値があるべき場所に 0 を配置するだけです。トリガーコードは次のとおりです。
set new.combined = concat(new.id, new.identifier)
挿入前です。
after insert を実行しようとしましたが、エラーが発生し続けました。ここで質問を検索しましたが、問題の答えが見つかりません。何か助けはありますか?