[PHP-users 32285] Re: 【質問】複数のテーブルにinsertする方法

Lee,Hongchun embargo1 @ sfc.keio.ac.jp
2007年 6月 7日 (木) 10:12:24 JST


返信ありがとうございました。助かりました。


> 河本です。
> 
> 恐らく本などに載っている基本のinsert文は
> 1つのテーブルに対しての処理なので、
> 複数のテーブルにinsertしたければ、
> そのテーブル数だけinsertするのが最も簡単かと思います。
> 
> multi_queryを利用したり、SQLにマルチテーブル・インサート等を使えば、
> ソースはもっとシンプルになるかとは思いますが。
> Google等で、「複数 テーブル insert」等のキーワードで検索をかければ、
> 調べられた本よりは十分な結果が得られるかと・・・・
> 
> #素人と書く前に、せめて環境を書いて下さい。
>  OS・PHP・DBの種類とバージョンぐらいは・・・。
ー>windows server 2000
php ver.5.0
DB->postgresql 8.01

これまで、ひとつのテーブルですべてのデータをinsertしましたが、リレーショ
ナルをつけるためにテーブルの正規化を行ったので、複数のテーブルにinsertす
る必要が出来てきてました。

HPからpostされたデータのテーブル(例えば)A,B,C,Dにinsertしないといけ
なくなりました。

SQLコマンドでは別々の入力は可能ですが、1回で同時に行うのはできないで
すね。PHPを利用して処理しようとしております。

 ->現在のSQL文
 $sql	= "insert into tmain values('$id', '$entername','$date',
'$newspaper',  '$edition', '$page', '$title', '$articletype', '$issue',
'$content','$evaluation', '$who', '$syozoku', '$inputtime')";
}

新しいSQL文
 $sql	= "insert all
 into sinbun values ('$id', '$entername','$date','$newspaper')
 into newspaper values('$id', '$date','$newspaper',  '$edition', '$page')
 into article values('$title', '$articletype')
 into issue values('$issue','$content')
 into hyouka values('$evaluation', '$who', '$syozoku', '$inputtime')";
}

以上のように変更しよとしておりますが、プルグラムとしては問題ないでしょう
か。
また、updateの場合も同じ文法を使うことも可能ですか。

再度よろしくお願いします。



> 
>  ┏┏┏┏┏┏┏┏┏┏┏┏┏┏┏┏┏┏┏┏┏┏┏┏┏┏
>  ┏━━━┓ Akihiro KAWAMOTO
>  ┃\_/┃ Mail: kawamoto @ med.kawasaki-m.ac.jp
>  ┗━━━┛ URL : http://www.kawasaki-m.ac.jp
>  ┌┌┌┌┌┌┌┌┌┌┌┌┌┌┌┌┌┌┌┌┌┌┌┌┌
> _______________________________________________
> PHP-users mailing list  PHP-users @ php.gr.jp
> http://ml.php.gr.jp/mailman/listinfo/php-users
> PHP初心者のためのページ - 質問する前にはこちらをお読みください
> http://www.php.gr.jp/php/novice.php3

-- 
Lee,Hongchun <embargo1 @ sfc.keio.ac.jp>


PHP-users メーリングリストの案内