mysql:2838
From: 松並 <松並 <matunami@xxxxxxxxxx>>
Date: Thu, 07 Dec 2000 19:44:51 +0900
Subject: [mysql 02838] Re: C言語でのクエリー発行
松並@横浜です。 先ほどはエラそうなことを書いてしまいすみません。 On Thu, 07 Dec 2000 16:39:55 +0900 Yoshiyuki Asano <asano@xxxxxxxxxx> wrote: (snipped) > 私自身、C言語を使いはじめて、7年になります。 > プレイステーションのゲームプログラムを経て今は、インターネットでの > CGI制作をC言語で行っています。 > C言語には慣れているつもりですが、文字列の扱いなど、おかしなところが > あればご指摘ください。 恐れ入ります。MLの質問の仕方で、技量を提示するのも効果がありますね:−) 私はC言語10年位(密度薄いかも)です。 ソースを拝見させていただきましたが、私には原因がわかりませんでした。 しかしこのソースからtemp変数に対する文字列操作の不備問題はないということが 明らかになりますね。 私も識者の方々のサポートが入るのを楽しみにしてます。 > strcpy(temp,"INSERT INTO age VALUES(25)\0"); > for(i=0;i<100;i++){ > error = mysql_query(d_mysql,temp); > if(error != 0) printf("[%04d:%s]失敗\n",i,mysql_error(d_mysql)); > else printf("[%04d]成功\n",i); > } ちょいと気になるところといえば、 On Wed, 06 Dec 2000 18:49:44 +0900 Yoshiyuki Asano <asano@xxxxxxxxxx> wrote: > そうです。-1になるのは、プライマリーキーを設定しているところにINSERTしたためです。 > デバッグのタメ同じデータでしているもので... これはテーブルの設計時にあるカラムをプライマリキーとしていて、 複数回INSERTするときにそのカラムの値を(プライマリキーであるにも関わらず) 同じ値でINSERTしているということですよね。 私のLinux環境でmysqlコマンドを使用して実験してみました。 mysql> create table test (a integer primary key not null); Query OK, 0 rows affected (0.00 sec) mysql> insert into test values(3); Query OK, 1 row affected (0.00 sec) mysql> insert into test values(3); ERROR 1062: Duplicate entry '3' for key 1 mysql> このエラーは浅野さんの書かれた On Thu, 07 Dec 2000 14:05:54 +0900 Yoshiyuki Asano <asano@xxxxxxxxxx> wrote: > 結果は Duplicate entry '0' for key 1 とありました。 と同じメッセージですね。 本来の動作としてはこのプライマリキー重複によって (1)「mysql_query()はエラー-1を返す」 という動作が期待され、 (2)「何回mysql_query()でエラー-1になってもメモリ破壊は起こさない」 という頑丈さも当然期待されます。 (2)を疑うなら、mysq_query()の実装を調べてみる必要があるかもしれません。 私のLinux環境でinsertを50回やってみましたが、変化なしです。 回数が少ないかもしれませんが。 あれ?PHP自体もC言語で書かれた部分からMySQLをコールしてるのですよね? またmysqlコマンドもC言語で書かれているでしょうから同様ですね。 そう考えると、(2)の実装ミスってのもなさそうな感じがします。 ※もう一つ。プライマリキーが重複しないようにしてfor()を回すと、 結果は同じでSegmentation faultになりますでしょうか? 私にはわかりません。またゴミ投稿になりました。 -- 松並@横浜 <matunami@xxxxxxxxxx> http://putyou.matwerks.com/
2788 2000-12-06 14:56 ["Y. Tsutsui" <tutui@] 関東支部会合について 2789 2000-12-06 15:17 ┣[Tatsuo Hiramatsu <ta] 2790 2000-12-06 15:37 ┃┗["Y. Tsutsui" <tutui@] 2791 2000-12-06 15:43 ┃ ┗[Michiaki Mitachi <mi] 2793 2000-12-06 16:35 ┃ ┗[<endo_t@xxxxxxxxxx> ] 2795 2000-12-06 17:29 ┗[Tatsuo Hiramatsu <ta] 2796 2000-12-06 17:35 ┣["Y. Tsutsui" <tutui@] 2798 2000-12-06 17:46 ┃┣[<ikezawa@xxxxxxxxxx>] 2807 2000-12-06 18:47 ┃┗[Tatsuo Hiramatsu <ta] 2814 2000-12-06 20:58 ┃ ┗[<ikezawa@xxxxxxxxxx>] 2815 2000-12-06 21:06 ┃ ┗["Y. Tsutsui" <tutui@] 2880 2000-12-18 17:56 ┃ ┗["Y. Tsutsui" <tutui@] 2881 2000-12-19 10:32 ┃ ┣[Tatsuo Hiramatsu <ta] 2884 2000-12-20 18:19 ┃ ┃┗["Y. Tsutsui" <tutui@] 2885 2000-12-20 21:27 ┃ ┃ ┗[<ikezawa@xxxxxxxxxx>] 2890 2000-12-22 02:41 ┃ ┗["Y. Tsutsui" <tutui@] 2892 2000-12-22 11:50 ┃ ┗[Tatsuo Hiramatsu <ta] 2893 2000-12-22 13:49 ┃ ┗[<ikezawa@xxxxxxxxxx>] 2797 2000-12-06 17:33 ┗[Yoshiyuki Asano <asa] C言語でのクエリー発行 2799 2000-12-06 18:12 ┣[Kayama Yoichi <yoich] 2801 2000-12-06 18:13 ┃┗[Yoshiyuki Asano <asa] 2803 2000-12-06 18:40 ┃ ┣[Kayama Yoichi <yoich] 2804 2000-12-06 18:33 ┃ ┃┗[Yoshiyuki Asano <asa] 2806 2000-12-06 18:40 ┃ ┗[Kengo Jinno <kengo@x] 2809 2000-12-06 18:51 ┃ ┣[Yoshiyuki Asano <asa] 2810 2000-12-06 18:55 ┃ ┗[荒井 哲三 <tetsumi] 2812 2000-12-06 19:35 ┃ ┗[Kengo Jinno <kengo@x] 2813 2000-12-06 20:04 ┃ ┣[UNO Shintaro <uno@xx] 2830 2000-12-07 15:57 ┃ ┗[荒井 哲三 <tetsumi] 2800 2000-12-06 18:02 ┣[Kengo Jinno <kengo@x] 2802 2000-12-06 18:20 ┃┣[Yoshiyuki Asano <asa] 2805 2000-12-06 18:40 ┃┃┗[Kengo Jinno <kengo@x] 2808 2000-12-06 18:49 ┃┃ ┗[Yoshiyuki Asano <asa] 2811 2000-12-06 19:35 ┃┃ ┗[Kengo Jinno <kengo@x] 2843 2000-12-08 11:54 ┃┗[Yoshiyuki Asano <asa] MySQL のC言語用のライブラリって... 2844 2000-12-08 13:19 ┃ ┗[Kengo Jinno <kengo@x] 2845 2000-12-08 13:52 ┃ ┣[Tomohiro KATO <tomop] 2846 2000-12-08 14:14 ┃ ┃┗[Kengo Jinno <kengo@x] 2847 2000-12-08 15:18 ┃ ┃ ┗[Yoshiyuki Asano <asa] 2852 2000-12-11 10:59 ┃ ┗[Yoshiyuki Asano <asa] 2853 2000-12-11 11:28 ┃ ┗[Kengo Jinno <kengo@x] 2854 2000-12-11 11:54 ┃ ┗[Yoshiyuki Asano <asa] 2856 2000-12-11 12:41 ┃ ┗[Kengo Jinno <kengo@x] 2857 2000-12-11 17:36 ┃ ┗[Yoshiyuki Asano <asa] MySQL サーバーに接続の仕方 2858 2000-12-11 19:20 ┃ ┗[Tomohiro KATO <tomop] 2873 2000-12-15 11:03 ┃ ┗[Yoshiyuki Asano <asa] MySQL サーバーにリモート接続 2874 2000-12-15 14:26 ┃ ┗[Tomohiro KATO <tomop] 2886 2000-12-21 11:32 ┃ ┗[Yoshiyuki Asano <asa] 2887 2000-12-21 12:27 ┃ ┗[Kengo Jinno <kengo@x] 2888 2000-12-21 12:45 ┃ ┗[Yoshiyuki Asano <asa] 2889 2000-12-21 13:01 ┃ ┗[Kengo Jinno <kengo@x] 2891 2000-12-22 09:18 ┃ ┗[Yoshiyuki Asano <asa] 2817 2000-12-06 23:50 ┗[とみたまさひろ <tomm] 2820 2000-12-07 11:15 ┗[Yoshiyuki Asano <asa] 2823 2000-12-07 13:21 ┗[Kengo Jinno <kengo@x] 2824 2000-12-07 14:05 ┗[Yoshiyuki Asano <asa] 2826 2000-12-07 14:38 ┣[Kengo Jinno <kengo@x] 2827 2000-12-07 15:31 ┣[Kayama Yoichi <yoich] 2828 2000-12-07 15:34 ┣[Tomohiro KATO <tomop] 2829 2000-12-07 15:36 ┣[松並 <matunami@xxxxx] 2831 2000-12-07 15:58 ┃┣[松並 <matunami@xxxxx] 2833 2000-12-07 16:11 ┃┣[UNO Shintaro <uno@xx] 2834 2000-12-07 16:39 ┃┗[Yoshiyuki Asano <asa] 2836 2000-12-07 17:46 ┃ ┣[Tomohiro KATO <tomop] 2837 2000-12-07 18:54 ┃ ┃┣[Yoshiyuki Asano <asa] 2839 2000-12-07 21:21 ┃ ┃┗[Satoshi Tatsuoka <sa] 2842 2000-12-08 09:25 ┃ ┃ ┗[Yoshiyuki Asano <asa] -> 2838 2000-12-07 19:44 ┃ ┣[松並 <matunami@xxxxx] 2841 2000-12-08 09:00 ┃ ┗[UNO Shintaro <uno@xx] 2832 2000-12-07 16:05 ┗[<endo_t@xxxxxxxxxx> ]