実現したいこと
ローカルにある特定のDBから、
特定のテーブル・レコードを抽出してdumpしたいです。
前提
対象は、添付画像のようなリレーションになっております。
抽出したいデータは、
- shop_id=100 である Shiprateテーブルのレコード(実際は複数あります)
- 1で抽出されたレコードと同じ shiprate_id を持つ Shipareaテーブルのレコード
- 2で抽出されたレコードと同じ shiparea_idを持つ DeliveryTime・Feeテーブルのレコード
です。
問題・疑問
dumpファイル作成の前に、まずは以下のsql文で対象データが抽出されることを確認いたしました。
SELECT * FROM shiprate as rate Inner join Shiparea as area on rate.shiprate_id = area.shiprate_id Inner join .....(略) Inner join .....(略) WHERE rate.shop_id=100 AND rate.shop_id=101;
ただ、これをdumpファイル取得用に書き換えることができません。
検索しても、あまりInner joinを繋げた抽出をしている記述が見つからず・・・
また、検索すると例に挙げられていることが多い、
https://showwin.hatenablog.com/entry/2016/08/17/095339
--where 'id IN ....
の id とは何でしょうか?
作りかけのコード
mysqldump -uroot -p --lock-tables=false --no-tablespaces 対象DB \ --tables shiprate shiparea delivery_time fee \ --where="
where以降の記述、参考になりそうなサイトなど、何かおわかりでしたらご教示いただけますでしょうか。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー