問題タブ [on-duplicate-key]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 重複キー ALTER テーブルについて
次の mysql クエリを実行しようとしていますが、エラーは発生していませんが、どちらも機能していませんか?. 重複が検出された場合に列名を更新したいだけです。ありがとう:o)
編集 >>>>>>> 私が更新しようとした唯一の理由は、フォームが編集されたときにスクリプトがエラーにならないようにすることでした。メールテンプレートが作成されると、メール履歴テーブルに列が追加され、ユーザーがテンプレートを使用してメールを送信すると、その列に日付が記録されます。この問題は、列の作成スクリプトがメール履歴のテンプレートの列を再作成しようとするときにメール テンプレートが編集され、エラーが発生したときに発生します。作り直します。
php - Yii INSERT ... ON DUPLICATE UPDATE
私はYiiプロジェクトに取り組んでいます。Yiiモデルでsave()を実行するときに、MySQLのON DUPLICATE機能( http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html )を使用するにはどうすればよいですか?
私のMySQLは次のとおりです。
私のPHPは次のとおりです。
主キー(sapce_id、day)に重複がある場合、文句を言うのではなく、最新のデータで更新するだけです。
私は生のSQLでそれを行う方法を知っています、私はそれを行うためのクリーンなYiiの方法があるかどうか疑問に思っていました。
mysql - ON DUPLICATEKEYUPDATEでの自動インクリメントが多すぎます
列のある基本的なテーブルがあります。
- id(プライマリとAI)
- 名前(一意)
- 等
一意の列が存在しない場合は、行を挿入します。存在しない場合は、行を更新します...。
問題は、UPDATEを実行すると、id列のauto_increment値が上がることです。したがって、大量のUPDATEが実行されると、idauto_incrementが屋根を通り抜けます。
どうやらそれはバグでした:http://bugs.mysql.com/bug.php?id = 28781
...しかし、私は共有ホスティングのmySQL5.5.8でInnoDBを使用しています。
何年も前に解決策がない問題を抱えている他の人々: MYSQL重複挿入での自動インクリメントを防止し 、失敗した挿入でMySQL自動インクリメントが増加するのはなぜですか?
修正のアイデア?どういうわけかデータベースを間違って構成したのでしょうか?
******編集****:my.iniファイルにinnodb_autoinc_lock_mode = 0を追加すると問題が解決するようですが、共有ホスティングにはどのようなオプションがありますか?
******編集2******:OK、私の唯一の選択肢は、ストレージエンジンとしてMyISAMに変更することだと思います。メガmySQLの初心者なので、それが多くの問題を引き起こさないことを願っています。うん?
php - MySQL の INSERT INTO ... ON DUPLICATE KEY UPDATE の正しい構文は何ですか?
私のテーブル構造(MySQL /それぞれは以下と同じです)
そして、私はajax($post)を介してこのテーブルを追加するためにいくつかの値を投稿しています-database.phpのPHP 5.0
には、投稿されたデータを取得してテーブルに追加する関数があります
$proper_table 変数は別の変数によって取得され、このレコードを正しいテーブルに追加します。
(注: 元のテーブル フィールドと変数は異なります (トルコ語)。より理解しやすいように英語に翻訳しましたが、構文はご覧のとおりです。)
質問: 試験フィールドが同じであるという記録があるかどうかを確認したいこれらの変数はすべて、このレコードの更新に使用されます。それ以外の場合は、関数がこのレコードを新しいレコードとして適切なテーブルに配置します。
しかし、私は以下のようなエラーが発生しています
間違ったコーディングはありますか?解決策は何ですか?
おかげさまで今...
mysql - ON DUPLICATE KEY を使用して、挿入したいものをすべて更新する方法はありますか?
ON DUPLICATE KEY UPDATE
そのキーのレコードがすでにある場合、特定の値を更新するために使用できることを知っています。
私がすることができます:
しかし、列と値を 2 回書き出さずにこれを行うにはどうすればよいでしょうか?
mysql - ON DUPLICATE KEY UPDATE は更新を拒否します
MySQL の ON DUPLICATE KEY UPDATE で問題が発生しました。以下は、実行しようとしているクエリです。
- 正常に挿入されますが、重複がある場合は更新されず、エラーもスローされません。
- PMA を介してクエリを実行すると、エラーが返されず、更新されません
- ON DUPLICATE KEY UPDATE セクションを削除すると、重複キー エラーが返される
これは私のテーブルの構造です
android - Android:SQLiteDatabase InsertWithOnConflict API 7
簡単な方法(独自のクエリを作成するよりも簡単)、含める方法はありますか
v7以降のAndroidAPIでは?
私の知る限り、これはv8以降のAPIに含まれています。ある種の互換性ライブラリがあればいいのですが。
mysql - UPON DUPLICATE KEY は複数の列をインクリメントしますか?
データベースログを実行していて、毎日新しい行にログオンしています。したがって、Mysql クエリは、日 (日付 (一意のキー)) が既に存在するかどうかを確認し、存在する場合は、ログ行のすべてのログ可能な値を 1 ずつインクリメントしようとします。日付レコードがまだ表示されていない場合は、新しい行が作成されます。
私のSQLクエリは次のとおりです。
すべての列のデフォルト値は 0 であるため、このクエリが真夜中の直後に実行される場合、'stale' と 'hits' のみが 1 に設定されます。
私は望む!(うまくいきません)。
私は何が欠けていますか?'hits' = 'hits' +1と'stale'='stale'+1 の間に、カンマ以外のどの区切り記号を使用すればよいですか?
mysql - IGNORE で InnoDB の自動インクリメントを回避する方法はありますか?
InnoDB では、INSERT IGNORE または ON DUPLICATE KEY UPDATE を実行すると、何かが挿入されたかどうかに関係なく、テーブルが auto_increment されます。
この問題は哀れなほど厄介です。
これを回避する簡単な方法はありますか?
php - 列に値が存在する場合、挿入されるmysql値に日付を追加する
次のような構造のMySQLテーブルがあります。
ここで、uri 列は INDEX です。mysql テーブルに対して時折インジェクションを実行していますが、同じ名前の URI が 1 つ以上ある場合、ERROR Duplicate Entry が表示されます。だから私は、PHP を inijction に使用し、date("m-d-y")
挿入時に変数 $uri の末尾に a を追加したいと考えています。私の INSERT ステートメントINSERT INTO table(
uri ,
title ) values('$uri', '$title')
。INSERT が発生する前に、挿入されているテーブルに$uri
値が既に存在するかどうかを確認したいのですuri
が、その場合、その変数は$uri = $uri."-"date("m-d-y");
どうすればわかりますか? 私はいくつかの調査を行い、使用する必要があると信じるようになりましたINSERT...ON DUPLICATE KEY UPDATE
か?