問題タブ [sql-insert]

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.

0 投票する
1 に答える
5347 参照

asp.net - SqlDataSource を介してデータベース テーブルにデータを挿入する

最近、データ バインディングに関する Plural Sight ASP.NET ビデオを見ていると、<asp:SqlDataSource />.

デフォルトの映画のタイトルとリリース日を SQL Server 2008 データベースの movie テーブルに挿入できない理由がわかりません。この時点まで問題はなく、GridView を介して SelectCommand を介してテーブルにアクセスできましたが、ムービーの挿入ボタンをクリックしても、手動で作成した新しいムービー パラメータがテーブルに追加されません。

見栄えを良くするための私のコードは次のとおりです。

上記でお気づきかもしれませんが、Parameter asp タグに Type="..." がありませんでしたが、その前に、title の文字列と release_date の dateTime に等しい型がありました。問題は、データベースに設定した値が上記で宣言した値と異なることでしょうか?

それのC#バックエンド:

私はまだ画像を投稿することを許可されていないため、グリッドを追加することはできません。テーブル自体を表示できれば役立つのですが...とにかく、ボタンをクリックすると、テーブルは同じままで、データベースを見ると、新しい値が追加されていません。

0 投票する
3 に答える
4845 参照

tsql - T-SQL 挿入されたレコードの削除

タイトルが奇妙に思えるかもしれませんが、これが私がやりたいことです。

  1. 多くのレコードを持つテーブルがあります。
  2. このレコードの一部を取得して、他のテーブルに挿入したいと考えています。このようなもの:

    INSERT INTO TableNew SELECT * FROM TableOld WHERE ...

  3. トリッキーな部分は、挿入したこの行を元のテーブルからも削除したいということです。

これを行う簡単な方法はありますか?私がなんとかしたと思うのは、選択したレコードを保存するために一時テーブルを使用し、次にそれらを2番目のテーブルに配置し、それらと一致する行を最初のテーブルから削除することだけです。 . それは解決策ですが、非常に多くのレコード(300万5000以上)があるため、他のアイデアを探しています...

0 投票する
1 に答える
741 参照

java - SQLiteDatabase挿入メソッドで複数の列を追加するには?

Android 開発は初めてで、SQLiteDatabase クラスの挿入メソッドについて質問があります。

たとえば、列が 1 つしかない 1 つの行を挿入する場合は、次のようにします。

問題は、たとえば firstName と lastName を追加したい場合など、2 つ以上の列に対してこの挿入メソッドを使用する方法がわからないことです。古典的な SQL 構文でそれを行う方法を知っています。

0 投票する
6 に答える
1201 参照

sql - すべてのフィールドの where 条件を使用した SQL 挿入

SQLについて質問があります。3 つのフィールドを持つテーブルがあります。

  • ID(アクセスによる自動採番)
  • 名 (テキスト)
  • 姓 (テキスト)

以下はデータです

データ

名と姓をテーブルに挿入したいのですが、名と姓はテーブルの既存のデータと同じであってはなりません。たとえば、John Lee と Tim Wong を入力すると問題ありませんが、Tim Leung は入力しません。

この部分を完了するために 1 つの SQL を使用できますか? どうもありがとうございました。

0 投票する
5 に答える
3802 参照

sql - Oracle 複数行挿入ステートメント

Oracle がこのタイプの挿入をサポートしていないのはばかげています。Oracle でこれを行うにはどうすればよいですか?

0 投票する
1 に答える
326 参照

mysql - 挿入が重複している場合は更新しますか?w INSERTでPKを自動インクリメントしますか?

与えられた2つのテーブル:

Students登録した各クラスのコース番号を新しい列に入力する方法はありますか?したがって、特定のsidに2番目のcoursenumが追加されるたびに、students.idは自動インクリメントされ、主キーのままになりますが、sid、fname、lname、および新しいcoursenumを含む新しい行がテーブルに追加されます。

これは、INSERT ... IFDUPLICATEUPDATEの逆バージョンのようなものです。UPDATE ... IFDUPLICATEINSERTが必要です。

0 投票する
0 に答える
377 参照

java - Selectからリストにデータを挿入する

予約されたIDをルートテーブル内のIDのリストと比較することにより、テーブルから空きRouteIdを検索するSQLステートメントを作成しています。

私ができるようにしたいのは、提供されたコードの下部にあるように、すべてのルートが空いているかどうかを示すifステートメントを作成し、それらすべてのRouteIdをリストに入れます。

残りはそこから実行できますが、ランダム化できるように、selectステートメントからリストに無料ルートを取得するにはどうすればよいですか?

これも可能ですか?

0 投票する
2 に答える
3718 参照

postgresql - PostgreSQL: LEFT JOIN で空白行が作成される

この説明の最後にある重要な新発見 1 と 2 を参照してください。

Postgres 9.1.3 を実行していますが、奇妙な左結合の問題が発生しています。

200 万行を超える、consistent.masterという名前のテーブルがあります。citation_idという名前の列があり、その列には null がありません。これで確認できます:

それは0を返します。

ここで奇妙なことがあります: このテーブルを一時テーブルにLEFT JOIN すると、 citation_idフィールドに null を挿入しようとしているというエラーが表示されます。

エラー: 列 "citation_id" の null 値が not-null 制約に違反しています SQL 状態: 23502

クエリは次のとおりです。

私はこれに頭を悩ませています。これがLEFT JOINで、consistent.masterが結合の左側のテーブルである場合、そもそも何もないのに、このクエリでcitation_id列にnull 値を作成するにはどうすればよいでしょうか?

テーブルの作成に使用した SQL コードは次のとおりです。

重要な発見 1

面白いことを発見しました。このクエリ:

結果は次のとおりです。

どうすればそれを説明できますか?句WHERE citation_id IS NOT NULLのない同じクエリよりもカウントが高くなる可能性があるのはなぜですか?WHERE

IMPORTANT DISCOVERY 2 OK、以下のコメントに従って、すべて空の値を持つ行があることを発見しました。これは、テーブルにシリアル列といくつかの制約があるにもかかわらずです。idNOT NULL

お尻の行を削除しました。現在、null エラーは発生していません。代わりに、私はこれを得ています:

念のため、次のクエリを実行します。

何だと思う?consistent.masterこれは 1 つのインスタンスしかありません。1583804LEFT JOIN唯一の 1 つのインスタンスの左側のテーブルと、左側のテーブルからのみid列を取得できることを考えると、このエラーはどのように発生するのでしょうか? このようなことで、最終結果に左のテーブルよりも多くの行が含まれるようになるべきではありませんよね?citation_id LEFT JOIN

0 投票する
2 に答える
6111 参照

postgresql - Postgres LEFT JOIN は、左側のテーブルよりも多くの行を作成しています

Windows 7 x64 で Postgres 9.1.3 32 ビットを実行しています。(64 ビット Postgres と互換性のある Windows PostGIS リリースがないため、32 ビットを使用する必要があります。) (編集: PostGIS 2.0 の時点で、Windows 上の Postgres 64 ビットと互換性があります。)

テーブル ( ) を一時テーブルと結合し、結果のデータを 3 番目のテーブル ( ) に挿入するクエリがありますconsistent.masterconsistent.masternew

これは であるためleft join、結果のテーブルには、クエリの左側のテーブルと同じ数の行が含まれている必要があります。ただし、これを実行すると:

私は得る2085343。しかし、これを実行すると:

私は得る2085703

masternewよりも多くの行を持つにはどうすればよいmasterですか? クエリの左側のテーブルであるmasternewと同じ数の行を持つべきではありませんか?master

以下はクエリです。masterとテーブルはmasternew同じ構造である必要があります。

問題が発生した場合に備えて、VACUUM FULL ANALYZE両方のテーブルを実行してインデックスを再作成しました。(正確なコマンドは不明です。pgAdmin III で行いました。)

0 投票する
1 に答える
184 参照

mysql - 複数のクエリを使用せずにMySQLデータベースに行を挿入および削除する

質問を読む前にこの例を確認してください-http://www.sqlfiddle.com/#!2 / fcf3e/8

次のデータはフォームからのものであり、ユーザーは特別オファーから製品を削除しただけです。

もともと私はこのクエリを使用したかった...

ただし、これはユーザーが削除した製品を削除するのではなく、他の製品を更新するだけです。

だから私は2つのクエリを実行することを余儀なくされています...

2つのクエリを実行せずにこれを行うためのより良い方法はありますか?

http ://www.sqlfiddle.com/#!2 / fcf3e / 8