• ベストアンサー

Insert+Update=???

ここに書くべきかも悩んでいますが、質問です。 プログラムでInsert処理とUpdate処理を意識せずに実行するメソッドを作ったのですが、その名称にはどんな名称(英語)が良いでしょうか… ちなみにメソッドの内部では テーブルのキーでQuery、無ければInsert、有ればUpdate、と言う感じです。 ちなみに、その他「参照」や「削除」の動作が有るので これらの意味合いを含まないような名前にしたいので AccessやExecute等は避けたいんです。 くだらない質問で申し訳ないですがよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • aton
  • ベストアンサー率47% (160/334)
回答No.3

よかった。まだ閉じてなかったんですね。 #1を書いたatonです。 あれからつらつら考えてたんですが,こっち↓のほうがいいかもしれません。 Set Put Let 何れも,プログラミング言語で代入文に使われるような動詞です。 ##2のymmasayanさんのお答えに似た, # UpdateOrInsert というのは, #私も真っ先に思いついたんですが, #(処理内容を表現するという意味ではこれが一番正しい) #さすがに長いだろうと思ってました。

noname#6248
質問者

お礼

…と言うわけで締切ろうと巡回中ですが… そうですよね。SetPutGetってメソッドの王道ですもんね… おもいきりうっかりしてました(汗) InsertはInsert! UpdateはUodate! SelectはSelect!とSQLの動作ばかり意識していて単純な事を忘れていました。 PutDataにしようかなと思います。ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • ymmasayan
  • ベストアンサー率30% (2593/8599)
回答No.2

私なら迷わず「update/insert」にします。文字通り、「有れば更新、なければ挿入」ですよね。 データベースでは、結構この処理、多いのですが、市民権と言うか、明確な名前をあたえられていません。 「くだらない質問」なんて事、全くありません。誰かこれに「立派な」名前をつけてくれないものかと思っているしだいです。

noname#6248
質問者

お礼

>update/insert >「有れば更新、なければ挿入」 …確かにそうですけど…ちょっと長いような…

全文を見る
すると、全ての回答が全文表示されます。
  • aton
  • ベストアンサー率47% (160/334)
回答No.1

なんか,たまにこういう質問をみるとホッとするというか,嬉しくなります。 TouchUp/Touchupなんていうのはどうでしょうか? touch up:加筆する,修正する などという意味です。ちょっと口語的な複合語なのがイマイチですが。 ほんとは「update」がC_ranさんの作られたメソッドのような処理を表現するのに適切な言葉だと思います。SQLを制定するとき,変更処理を「modify」という呼び名にしてくれれば良かったのですが。

noname#6248
質問者

お礼

早速の回答ありがとうございます。 TouchUpですか…また一つ賢くなった気がします。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • ON DUPLICATE KEY UPDATE

    こんにちは。 PHP + MYSQL でシステム構築をしております。 この度は、新しいレコードを INSERT するが、もしもINSERT するレコードのうちの主キーが既に存在する場合は、UPDATE を行うという処理をしたいと思っています。 調べているうちに MySQL 4.1.0 の新機能である ON DUPLICATE KEY UPDATE 節というものがありましたが、4.1.0以前の MYSQL を利用の場合はどのようにするのが最適でしょうか? 私が考えたのは、挿入前に主キーを持つレコードを読み込んで、レコードが返ってこなかった場合は INSERT、何かレコードが返ってきた場合は UPDATE というようにする方法ですが、少し回りくどい気もします。 クエリのみで、またはシンプルな方法でこれを解決する方法はありますでしょうか? ご教授お願いいたします。

    • 締切済み
    • PHP
  • PHP Mysqli関数でエラー情報を取得する

    はじめまして。 PHPから、Mysqli関数を使用して、5000件のinsert文をMySQLサーバーに投げる処理で困っています。 insert文をセミコロン;で接続して、1つのSQL文にして、executeしています。 あるinsert文でエラーが発生した場合、それ以降のSQL文が実行されずに、PHPに戻ってきてしまいます。マルチクエリの挙動としては、この動きはしょうがないのでしょうか? 5000件のうち、複数のエラー(キー重複や、外部参照キーエラー)があった場合、エラーが起きたデータについてはどのようなエラーであったかが取得でき、それ以降のデータについてはinsertが実行できると言う処理をしたいのですが、このような処理は不可能でしょうか。 ちなみにupdateの場合は、更新対象のデータがなかった場合でもエラーとはならないので5000件文の処理が行われます。 環境は、以下です。 OS:FreeBSD6 PHP:PHP5 MySQL:MySQL5.2 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • トランザクションとlast_insert_id

    トランザクション中にinsertする予定のテーブル(未コミット)のauto_increment値を取得することはできるのでしょうか。 以下のような処理を期待しているのですが、hoge1テーブルのauto_increment値が取得できずに困っております。last_insert_id に関わらず、hoge1テーブルのauto_increment値が取得できる方法があれば教えてください。 (1) トランザクション開始 (2) $sql=" INSERT INTO hoge1(name) value('あああ'); "; (3) ( ロールバック ) (4) $key=mysql_insert_id(); (5) $sql2=" INSERT INTO hoge2(hoge1_primary,age) value($key,'20歳'); "; (6) ( ロールバック ) (7) コミット (8) トランザクション終了 よろしくお願いします。 環境: php5,mysql5 (InnoDB)

    • ベストアンサー
    • MySQL
  • Java 静的メソッドとインスタンスメソッド

    静的メソッドとインスタンスメソッドの使い分けがよくわかりません。 私の認識は 静的メソッド:インスタンスメンバ変数を参照する必要がない処理 インスタンスメソッド:インスタンスメンバ変数を参照して行う処理 と思っています。 よって、例えばDAOを作成する場合、select、update、insertを実行するメソッドを作成しますが、これらはクラスのインスタンスメンバ変数を参照する必要がないので静的メソッドにするべきだと思っています。 しかし、本やネットのDAOのサンプルプログラムはインスタンスメソッドで作成されています。 これらは、private static String の変数(SQL文が記述されている)を参照していますが、インスタンスメンバ変数は参照していません。 なぜselect、update、insertのメソッドをインスタンスメソッドにする必要があるのかわかりません。 静的メソッドとインスタンスメソッドの使い分けの基準を教えていただけないでしょうか。 よろしくお願いします。

    • ベストアンサー
    • Java
  • updateではinsertできない?

    フィールド名だけ決まったテーブルがあります。中は空っぽです。これに対してインサートすればデータが追加さえるのはわかります。 しかしアップデートをかけると、インサートと同じ結果を返すことができるでしょうか? 例えばテーブルABCがあります。列1はA、列2はBとあります。update ABC set A='1',B='2'とやればテーブルABCにデータが インサートされることになるでしょうか?手元にデータベースがあればよいのですが、ありませんので、このような質問お許しください。

  • INSERT,UPDATEしなかったレコードだけをDELETEしたい

    質問させてください、 CSV形式の10万行のデータをADO経由でINSERT,UPDATEしています そのときUPDATEもINSERTもされなかったレコードをDELETEしているんですが、 今はINSERT,UPDATE処理が終わったあと、全レコードのrecordsetを1レコードずつ csvファイルの1行と比較しています。 他に良い方法はないでしょうか? csvファイルには category, item, price postgresのテーブル名はt_zaikoとして id(INT[NOT_NULL, default_nextval, primary_key]), category(SMALL_INT), item(TEXT), price(SMALL_INT) とします。

  • PEAR DBのupdateについて

    PEAR DBにて複数のデータを一度にUPDATEにて更新しようと思っているのですが、うまくいきません。 foreach($data as $value){   $SQL = "update `table_name` set `id` = '" .addslashes($value). "';"; } $res = $this->db->query($SQL); まず、update分をデータ分foreachにて溜め込み、一気にクエリを投げております。insert文の場合はうまく処理してくれるのですが、updateの場合はエラーが返ってきてしまい、処理してくれません。updateの場合、PEAR DBでは不可能なのでしょうか? お分かりになる方、ご教授ください。よろしくお願いいたします。

    • 締切済み
    • PHP
  • TableAdapter.Update 戻り値

    大変お世話になります。 開発環境 Visual Studio 2012 VB.Net SQL Server 2014 Windows フォームで各コントロールをBindingSourceにてバインドしております。 TableAdapter.Updateにて UPDATEやINSERTなどに関連づけられているストアドプロシジャーも正常に動作しております。 UPDATEやINSERTのストアドプロシジャーには戻り値として、主キーが返ってくるようになっております。 TableAdapter.Updateは楽に登録更新をしてくれるのは良いのですが、新規に登録した場合に主TableAdapter.Update の戻り値は 反映した件数だと思うのですが、キーとなる値をどのように取得するのかがわかりません。INSERTで登録してあるストアドプロシジャーで本来かえってくる値を取得することはできるのでしょうか? 大変難儀しております。 何卒よろしくお願い申し上げます。

  • アクセスの更新クエリについて(親子テーブル)

    はじめまして。 アクセスを勉強しはじめて2週間の初心者です。 説明がわかりずらいかもしれませんが、ご容赦ください。 以下のようなテーブルがあります。 ●親テーブル(装置名称と装置番号の組み合わせが主キー) ・装置キー ・装置名称 ・装置番号 ・収容No-1 ・収容No-2 ●子テーブル(主キー設定なし) ・装置キー(親テーブルの装置キーと参照整合:1対多) ・収容No-3 ・最新情報 ●参照テーブル(主キー設定なし) ・収容No-1 ・収容No-2 ・収容No-3 ・最新情報 子テーブルの最新情報フィールドを参照テーブルの最新情報に 更新する更新クエリを作成したいのですが、うまく実行ができ ません。 クエリの作り方の基本がわかっていないと思いますが、私が作 った方法は、 1.上記3つのテーブルをクエリのデザインビューで表示 2.親テーブルと参照テーブルの収容No-1、2を結合 3.子テーブルと参照テーブルの収容No-3を結合 4.クエリの種類を更新クエリに変更 5.テーブルに子テーブル、フィールドに最新情報を設定 6.レコードの更新欄に[参照テーブル]![最新情報]を設定 です。 ビューで確認すると殆どのデータが空白で表示されております。 どのあたりに悪さがあるかをご教授いただけますと助かります。 ご不明な点がありましたら、何なりとお伝えください。 よろしくお願いします。

  • CGIとMysqlで複数のupdate文を実行したい

    CGI(Perl5.8*)のDBIモジュールでのMysqlの質問です。 //////////////////////////////////////////// $sql = " update `postageFee` set `aaa`=1,`bbb`=2 where `id`=1; update `postageFee` set `aaa`=3,`bbb`=4 where `id`=5; "; $result = $db->prepare("$sql"); $result->execute; $result->finish; //////////////////////////////////////////// 上記のように複数行にわたるupdate文を一回のQueryで処理させたいのです。 上記のような方法で一回で処理はできないのでしょうか?どうしてもうまくいきません。 1行1行クエリーしないといけないのでしょうか? よろしくお願いします。

    • ベストアンサー
    • CGI
数学問題!矛盾する存在を選べ
このQ&Aのポイント
  • 命題「青い実は硬い」「硬い実は苦い」がどちらも正しい時、存在しない(矛盾する)ものを選べ。
  • 2人の容疑者 𝑋, 𝑌 がいる。もし 𝑋 が有罪であるならば 𝑌 が無罪であることは確実である。では、𝑌 が有罪であるとき 𝑋 の有罪・無罪に関してどれが適切か。
  • 条件文「夏ならば暑い」の対偶を日本語の文章で書け
回答を見る