MySQLを使用して、tableAというテーブルのデータを
tableB,tableC,tableDというテーブルに振り分けたいと思っています。
1日1回、自動的に行いたいと思っています。
たとえば、tableAのテーブル構成が下記のようなもので
==================
name
sex
birth
address
phone
email
company
==================
name,address,phoneはtableBに
name,sex,birthはtableCに
name,companyはtableDに分けるというような
イメージです。
私の考えでは、下記のようなSQL文をPHPから呼び出して、タスクで
実行させてそれぞれ別のテーブルに振り分けようと思っている
のですが、、もっと良いツールや方法があればお教えいただけ
ませんでしょうか。
宜しくお願いいたします。
----------------------------------------------------------------------------------------------------
INSERT INTO tableB (name,address,phone) SELECT tableA.name,tableA.address,tableA.phone FROM tableA
AND
INSERT INTO tableC (name,sex,birth) SELECT tableA.name,tableA.sex,tableA.birth FROM tableA
AND
INSERT INTO tableD (name,company) SELECT tableA.name,tableA.company FROM tableA;
----------------------------------------------------------------------------------------------------
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
毎回3回SQLを発行するがめんどうということ?
プロシージャーをつくっておけばよいのでは?
DROP PROCEDURE IF EXISTS INSERT_A_TO_BCD;
DELIMITER //
CREATE PROCEDURE INSERT_A_TO_BCD()
BEGIN
START TRANSACTION;
INSERT IGNORE INTO tableB (name,address,phone) SELECT name,address,phone FROM tableA;
INSERT IGNORE INTO tableC (name,sex,birth) SELECT name,sex,birth FROM tableA;
INSERT IGNORE INTO tableD (name,company) SELECT name,company FROM tableA;
COMMIT;
END
//
としておけば、あとはINSERT_A_TO_BCDをCALLしてやるだけです。
CALL INSERT_A_TO_BCD;
早速のお返事ありがとうございます。
まだ初心者で、ストアドプロシージャーを使用したことがなく、
発想もありませんでした。
深夜のタスクにする予定なので、3回SQLを発行しても負荷の問題は
なく、面倒ということもありませんが、これを機に勉強してみます!
ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Oracle sqlで質問です。 aテーブルとbテーブルがあり、下記のsqlで取得したidとnameに一致しないレ 1 2022/04/20 20:34
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- PHP 重複を防ぐ記述について教えて下さい。 3 2023/04/03 14:35
- 営業・販売・サービス 仕入れの方法 1 2023/05/21 18:55
- PHP PHP MySQLに画像を直接保存 2 2022/06/05 11:50
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- MySQL 共通点はあります。何が違うのでしょうか? 1 2023/01/27 05:22
- MySQL 書籍の内容はまともでしょうか? 1 2023/01/22 03:07
- PHP コメント機能に返信欄を矢印で追加したい 1 2022/05/09 21:17
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQL文で右から1文字だけ削除す...
-
【MYSQL】asでリネームしてwher...
-
割合(パーセント)を求めるに...
-
sum()の出力結果順に並び替えを...
-
今週の日曜日から土曜日までの...
-
Oracleの監視。
-
SQLの集計で「全て」の合計も表...
-
MySQLで MAX()とGROUP BYを使う...
-
複数の表の条件でのDELETE文
-
月別、販売員別の集計がわかり...
-
MySQL5.0のストアドプロシージ...
-
GROUP BYを行った後に結合した...
-
Oracleでの文字列連結サイズの上限
-
Accessで別テーブルの値をフォ...
-
ADO VBA 実行時エラー3021
-
select insertで複数テーブルか...
-
SELECTで1件のみ取得するには?
-
DataGridViewの、選択されてい...
-
レコードが存在しなかった場合
-
MERGE文を単体テーブルに対して...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SQL文で右から1文字だけ削除す...
-
【MYSQL】asでリネームしてwher...
-
使うべきでない文字。
-
SQLの集計で「全て」の合計も表...
-
sum()の出力結果順に並び替えを...
-
MySQLで MAX()とGROUP BYを使う...
-
割合(パーセント)を求めるに...
-
チェックボックスの項目をDBにi...
-
月別、販売員別の集計がわかり...
-
MySQL のデータからドロップダ...
-
【初歩】ラジオボタンをつかっ...
-
カウント結果を1レコードの中...
-
何にかが違うから エラーなんで...
-
SQLiteのLike句で抽出できない
-
今週の日曜日から土曜日までの...
-
replaceを使って更に重複レコー...
-
複数の表の条件でのDELETE文
-
SQLサーバーは[main]![No]とい...
-
名寄せして件数を取得する事は...
-
LIKE述語/SQLとPHPを使った検...
おすすめ情報