質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Q&A

解決済

2回答

915閲覧

AUTO INCREMENTされたIDを使ったINSERT

cupnew1988

総合スコア20

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

0グッド

0クリップ

投稿2021/11/24 05:41

以下のようなデータ構成で、1度の入力で複数件のデータに対応する場合ですが、

■入力情報
(1)受付日付、担当者名、使用マシンID、客先ID, 指定日時, コメント文字列
(2)商品データ:(商品コード、商品数量、処理フラグ)→ 1件〜100件程度可変

全てをまとめて1テーブルにすると、(1)の情報が重複して非効率なので、
(1)、(2)を分けるとすると、次のようになるのかと。

CREATE TABLE log_list ( id INT NOT NULL AUTO_INCREMENT,  ※ date datetime NOT NULL name CHAR(32) NOT NULL, (その他もろもろ), PRIMARY KEY (id) ); CREATE TABLE log_data ( id INT NOT NULL,  ※ c_code INT NOT NULL, c_num INT NOT NULL, );

この構成で、1度の入力で複数件(log_data)を INSERT する場合、
log_listでAUTO_INCREMENTされたid を参照して、そのまま1度の処理で
log_data を INSERTするには、どのようにクエリを記述すれば良いでしょう。

テーブル構成を含めて良い例があればご教授ください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2021/11/24 06:03

アプリケーションは何で実装されてるのでしょうか。
cupnew1988

2021/11/24 06:07

ruby + mysql2 もしくは、シェルスクリプトから mysqlクライアントを呼び出す予定です。
guest

回答2

0

自己解決

こちらに同様の質問がありました。
https://teratail.com/questions/114646

お手数をお掛けしました。

投稿2021/11/24 23:46

cupnew1988

総合スコア20

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

アプリケーション側から直前の
insert結果のidを取得する
selectを発行し、利用します。

ただ、可能ならAIではなくシーケンス管理用のテーブルを用意するなどシステム側で確実に同一性を担保できる仕組みを持ったほうが良いとは思います。

投稿2021/11/24 07:13

m.ts10806

総合スコア80861

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

cupnew1988

2021/11/24 23:45

ありがとうございます。 LAST_INSERT_ID()を参照するところまでは理解していたのですが・・ こちらに同様の質問が、 https://teratail.com/questions/114646 LAST_INSERT_ID()を変数にセットして参照する手順の説明もありました。 お手数をお掛けしました。
m.ts10806

2021/11/25 00:12

>LAST_INSERT_ID()を参照するところまでは理解していた 質問本文に書かれてないため分かりませんでした。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問