2017-12-31 208 views
0

事前定義された値でそれらを埋め込みます表2に、このような事前に定義された値の表1 ...SQL複数列に別のテーブルの挿入値とは、私は2つのテーブルを持っているし、表2に表1の値を挿入したい

crdate_table1 
uid_table1 
xyz_table1 

...として埋め込まれるべきであるサブパーツ:

SET VALUES (crdate_table1, 43, 1, 'id=43&tx_abc_abc%5Baction%5D=show&tx_abc_abc%5Bcontroller%5D=Abc&tx_lei_lei%5Brecord%5D=uid_table1', 'abc/xyz_table1/', '{"id":"43","tx_abc_abc[record]":"uid_table1","tx_abc_abc[action]":"show","tx_abc_abc[controller]":"Abc"}', 0); 

結果は、例えば次のようになります。

(crdate_table1, 43, 1, 'id=43&tx_abc_abc%5Baction%5D=show&tx_abc_abc%5Bcontroller%5D=Abc&tx_abc_abc%5Brecord%5D=uid_table1', 'abc/xyz_table1/', '{"id":"43","tx_abc_abc[record]":"uid_table1","tx_abc_abc[action]":"show","tx_abc_abc[controller]":"Abc"}', 0), 
(crdate_table1, 43, 1, 'id=43&tx_abc_abc%5Baction%5D=show&tx_abc_abc%5Bcontroller%5D=Abc&tx_abc_abc%5Brecord%5D=uid_table1', 'abc/xyz_table1/', '{"id":"43","tx_abc_abc[record]":"uid_table1","tx_abc_abc[action]":"show","tx_abc_abc[controller]":"Abc"}', 0), 
(crdate_table1, 43, 1, 'id=43&tx_abc_abc%5Baction%5D=show&tx_abc_abc%5Bcontroller%5D=Abc&tx_abc_abc%5Brecord%5D=uid_table1', 'abc/xyz_table1/', '{"id":"43","tx_abc_abc[record]":"uid_table1","tx_abc_abc[action]":"show","tx_abc_abc[controller]":"Abc"}', 0), 
(crdate_table1, 43, 1, 'id=43&tx_abc_abc%5Baction%5D=show&tx_abc_abc%5Bcontroller%5D=Abc&tx_abc_abc%5Brecord%5D=uid_table1', 'abc/xyz_table1/', '{"id":"43","tx_abc_abc[record]":"uid_table1","tx_abc_abc[action]":"show","tx_abc_abc[controller]":"Abc"}', 0), 
(crdate_table1, 43, 1, 'id=43&tx_abc_abc%5Baction%5D=show&tx_abc_abc%5Bcontroller%5D=Abc&tx_abc_abc%5Brecord%5D=uid_table1', 'abc/xyz_table1/', '{"id":"43","tx_abc_abc[record]":"uid_table1","tx_abc_abc[action]":"show","tx_abc_abc[controller]":"Abc"}', 0), 
... 

答えて

1

のように見える私が正しく理解していれば、あなたが行うことができます:

insert into table2 (crdate, page_id, rootpage_id, original_url, speaking_url, request_variables, expire) 
    select t1.crdate_table1, 43, 1, 
      replace('id=43&tx_abc_abc%5Baction%5D=show&tx_abc_abc%5Bcontroller%5D=Abc&tx_abc_abc%5Brecord%5D=uid_table1', 'uid_table1', t1.uid), 
      replace('abc/xyz_table1/', 'xyz_table1', t1.xyz), 
      replace('{"id":"43","tx_abc_abc[record]":"uid_table1","tx_abc_abc[action]":"show","tx_abc_abc[controller]":"Abc"}', 'uid_table1', t1.uid), 
      0 
    from table1 t1; 

は、他のテーブルから値を挿入するreplace()の使用に注意してください。

+0

残念ながら私はエラーが発生しています:ERROR 1064(42000):SQL構文にエラーがあります。あなたのMySQLサーバのバージョンに対応するマニュアルをチェックしてください。右の構文は、7行目の 'tx_abc_domain_model_abc t1'の近くで使用してください。 –

+0

これは、ありがとうございます! –

関連する問題