Q89:MySQLのテーブルの上書きについて
Q89-1:
現在下記のような、CREATE TABLE AS文を使用して、MySQLのデータベースに対して検索結果をデータベースに保存しています。
CREATE TABLE `H5145_worktime` AS SELECT DATE_FORMAT(日付,'%y/%m/%d') AS 作業日,略称,工程名,工程名2 AS 作業名,ROUND(SUM(時間1),2) AS `時間1の合計(h)
`,ROUND(SUM(時間2),2) AS `時間2の合計(h)`,ROUND(SUM(時間1)+SUM(時間2),2) AS `合計(h)` FROM job, machine WHERE job.機械ID = machine.ID AND 作番='H5145'
GROUP BY 日付,略称,工程名,工程名2,優先順位 ORDER BY 日付,優先順位;
ここでいくつか質問があります。
@既に同じ名前のテーブルが作成されている場合に、そのテーブルを上書き、又は重複していないデータだけを追加する方法はないでしょうか?
Ajobテーブルや,machineテーブルをもつデータベースAとは別の、検索結果を保存するデータベースBへ保存する方法はないでしょうか?
A89-1:
今回のご質問の内容は、MZ Platformとは関係なくMySQLに関わる問題ですので、関連の書籍やWEBページ、あるいはMySQLのサポートやユーザグループ等で解決方法を見つけることができます。
> @既に同じ名前のテーブルが作成されている場合に、そのテーブルを上書き、又は重複していないデータだけを追加する方法はないでしょうか?
上書きでよいということであれば、下記のページがご参考になるかと存じます。
http://dev.mysql.com/doc/refman/4.1/ja/drop-table.html
またMySQL5.1をお使いになっているかと存じますので、VIEWテーブルの使用も考えられます。
http://dev.mysql.com/doc/refman/5.1/ja/views.html
> Ajobテーブルや、machineテーブルをもつデータベースAとは別の、検索結果を保存するデータベースBへ保存する方法はないでしょうか?
下記のURLページ内をご覧下さい。
http://dev.mysql.com/doc/refman/4.1/ja/create-table.html