ユーザーテーブル、ID番号は一意である必要があります、携帯電話番号、電子メールアドレスは一意である必要があります 実装:テーブル構造を変更する必要はありません。主キーIDとインデックスの実装 図に示すように、インデックス タイプを [一意] に設定して、唯一のフィールドを選択し、名前を付けます。インデックス方式は btree です。はい〜 補足: MySQLは複数テーブルの主キーの重複を防止します 同じデータベース内に 2 つのテーブルがあり、フィールドは同じですが、保存されているデータを区別する必要があります。ただし、主キーを繰り返すことはできません。具体的な実装は以下のとおりです。 新しいデータベースmytestを作成する新しいユーザーテーブルと管理者テーブルを作成するテーブル `user` を作成します ( `user_id` INT(11) NULLではない、 `user_name` VARCHAR(255) NOT NULL、 `パスワード` VARCHAR(255) NOT NULL, `phone` VARCHAR(255) NOT NULL, 主キー (`user_id`) ) COMMENT = 'ユーザーテーブル' 照合='utf8_general_ci' エンジン=InnoDB; テーブル「admin」を作成します( `user_id` INT(11) NULLではない、 `user_name` VARCHAR(255) NOT NULL、 `パスワード` VARCHAR(255) NOT NULL, `phone` VARCHAR(255) NOT NULL, 主キー (`user_id`) ) COMMENT = '管理者テーブル' 照合='utf8_general_ci' エンジン=InnoDB; 新しいシーケンス テーブルを作成します。 テーブル `sequence` を作成します ( `seq_name` VARCHAR(50) NOT NULL、 `current_val` INT(11) NOT NULL、 `increment_val` INT(11) NOT NULL デフォルト '1', 主キー (`seq_name`) ) COMMENT = 'シーケンスリスト' 照合='utf8_general_ci' エンジン=InnoDB; 新しいシーケンスを追加します。 シーケンスに VALUES ('seq_test', '0', '1') を挿入します。 シーケンスの現在の値を取得する currval 関数を作成します。 区切り文字 # 関数currval(v_seq_name VARCHAR(50))を作成します。 整数(11)を返す 始める 整数値を宣言します。 値を 0 に設定します。 seq_name = v_seq_name であるシーケンスから、current_val を値に選択します。 戻り値; 終わり; 現在の値を照会します: currval('seq_test') を選択します。 シーケンスの次の値を取得するには、 nextval 関数を作成します。 区切り文字 # 関数 nextval (v_seq_name VARCHAR(50)) を作成し、整数(11) を返します。 始める 更新シーケンス set current_val = current_val + increment_val where seq_name = v_seq_name; currval(v_seq_name) を返します。 終わり; 次の値を照会する nextval('seq_test') を選択します。 具体的な実装:<挿入id="addUser" パラメータタイプ="ユーザー"> <selectKey keyProperty="userId" resultType="int" order="BEFORE"> nextval('seq_test') を選択します。 </selectKey> ユーザーに(user_id,user_name,password,phone)の値を挿入する (#{userId}、#{userName、jdbcType=VARCHAR}、#{password、jdbcType=VARCHAR}、#{phone、jdbcType=VARCHAR}) </挿入> <挿入id="addAdmin" パラメータタイプ="Admin"> <selectKey keyProperty="userId" resultType="int" order="BEFORE"> nextval('seq_test') を選択します。 </selectKey> admin(user_id,user_name,password,phone) の値を挿入します (#{userId}、#{userName、jdbcType=VARCHAR}、#{password、jdbcType=VARCHAR}、#{phone、jdbcType=VARCHAR}) </挿入> 最終的な実装:上記は私の個人的な経験です。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。間違いや不備な点がありましたら、遠慮なくご指摘ください。 以下もご興味があるかもしれません:
|
<<: Tomcat の設定と Eclipse での起動方法
1. インストールパッケージを保存する場所に移動しますcd /home/lnmp 2. MySQL ...
この記事では、例を使用して MySQL インデックスの原理と使用方法を説明します。ご参考までに、詳細...
1. mpstatコマンド1.1 コマンド形式 mpstat [ -A ] [ -u ] [ -V ...
MySQL をインストールすると初期パスワードが与えられますが、この初期パスワードは大文字と小文字の...
Web デザインは、インターネットの出現後に誕生した新興の周辺産業です。 Web ページは店頭のよう...
目次MySQL 内部結合、左結合、右結合、外部結合、複数テーブルクエリビルド環境: 1. 内なる慈恩...
プロジェクト ページの作成中に、子要素が親要素の透明度を継承するという問題に遭遇しました。多くのドキ...
目次1. 仮想ホスト1.1 仮想ホストの概念1.2 仮想ホストタイプ2. IP仮想ホストに基づく2....
序文先ほどのプロジェクトを参考にすると、環境は整いました。プロジェクトの準備と検証の段階で、問題が発...
目次1. 重複したリクエストをキャンセルする2. すべてのリクエストをクリーンアップするこのソリュー...
最初の方法: デモとしてボタンをクリックしてテキストを表示または非表示にするクラスを動的に追加します...
データベースマルチテーブル接続クエリの実装方法の詳細説明結合演算子を使用して複数のテーブルクエリを実...
1. 機能: xargs は、stdin 内のスペースまたは改行で区切られたデータをスペースで区切ら...
MySQL5.6 SSLファイルの作成方法公式ドキュメント: https://dev.mysql.c...
translate(-50%,-50%) 属性:中央に配置するには、長さと幅の 50% だけ上と左...