この度は初めてこちらの掲示板にて質問させて頂きます。
よろしくお願い致します。
質問としましては、phpMyadminでの「別テーブルから値を参照してINSERTする方法」でして、
色々調べてみたのですが、構造/方法が分かりませんでしたため質問に至りました。
MySQLの初心者ですため、説明不足な点や方法に難がありましたら、
ご指摘いただければ幸いです。
やりたい事を簡単に申し上げますと、
TABLE.1 の条件(mozi01、mozi02、mozi03)に一致した値(cid)を、TABLE.2 へ書き込みしたく思います。
※ テーブルの構造を下記へ記載させていただきます。
1件だけの場合、
lang
1INSERT INTO `tbl2` ( id01, id02, txt01 ) 2VALUES ( 'CODE001', 10, (SELECT cid FROM `tbl1` WHERE `mozi01` Like 'AAA' AND `mozi02` Like '111' AND `mozi03` Like 'いいい') )
で書き込みをする事が出来ましたが、書き込むデータが 5回/日、500件/回 程度あります。
500件も毎回のクエリを実行(下記記載)するのも合理的ではない気がしますため、その方法をお尋ねしたく思っております。
lang
1INSERT INTO `tbl2` ( id01, id02, txt01 ) 2VALUES 3( 'CODE001', 10, (SELECT cid FROM `tbl1` WHERE `mozi01` Like 'AAA' AND `mozi02` Like '111' AND `mozi03` Like 'いいい') ), 4( 'CODE002', 10, (SELECT cid FROM `tbl1` WHERE `mozi01` Like 'BBB' AND `mozi02` Like '222' AND `mozi03` Like 'いいい') ), 5( 'CODE003', 10, (SELECT cid FROM `tbl1` WHERE `mozi01` Like 'CCC' AND `mozi02` Like '111' AND `mozi03` Like 'おおお') ) 6. 7. 8(500行)
初歩的な質問かと思いますが、ご教授いただければ幸いです。
どうぞ、よろしくお願い致します。
【テーブル構造】
■ TABLE.1
lang
1CREATE TABLE `tbl1` ( 2 `cid` int(6) NOT NULL, 3 `mozi01` varchar(5) NOT NULL, 4 `mozi02` varchar(5) NOT NULL, 5 `mozi03` varchar(5) NOT NULL 6) ENGINE=InnoDB DEFAULT CHARSET=utf8; 7 8INSERT INTO `tbl1` (`cid`, `mozi01`, `mozi02`, `mozi03`) VALUES 9(2, 'AAA', '111', 'いいい'), 10(6, 'AAA', '444', 'えええ'), 11(1, 'AAA', '555', 'あああ'), 12(3, 'BBB', '222', 'いいい'), 13(4, 'CCC', '111', 'おおお'), 14(5, 'WWW', '888', 'あああ'); 15 16ALTER TABLE `tbl1` 17 ADD PRIMARY KEY (`cid`), 18 ADD UNIQUE KEY `mozi01` (`mozi01`,`mozi02`,`mozi03`);
■ TABLE.2
lang
1CREATE TABLE `tbl2` ( 2 `id01` varchar(10) NOT NULL, 3 `id02` int(6) DEFAULT NULL, 4 `txt01` varchar(20) DEFAULT NULL 5) ENGINE=InnoDB DEFAULT CHARSET=utf8; 6 7ALTER TABLE `tbl2` 8 ADD PRIMARY KEY (`id01`); 9COMMIT;
回答2件
あなたの回答
tips
プレビュー