データベース名には表名が含まれていますが、主キーはありません。データの複製が可能であることを意味します。例:私は5つのファミリー(f1、f2、f3、f4、f5)を持っています。だから私は1行以上で全く同じタイプのレコードを持つことができます。今は家族のメンバー1人だけを編集したいのですが、すべての重複レコードを編集しています。私がしたいのは、データベースを1回だけ更新することです。言い換えれば、UPDATEコマンドを使用して一度だけ実行したいのです。どうやってするの? 私はSql Server Express、VS2010、C#4.0(この情報が重要な場合)を使用しています。 私の問題は(おそらく多くの)いくつかの人々に愚かに聞こえるかもしれないと確信しています。しかし、それは私の問題のダミーです。どんな助けや提案も大歓迎です。ありがとうSqlコマンドを1回だけ実行する
答えて
私はそれはあなたが求めているものを正確ではないのですが、真剣に、最も簡単なオプションはにデータベースを変更することである知っています主キーを持ち、それを使用します。おそらく、アイデンティティキーが....それがなければ
、あなただけのレコードが、あなたはどのレコードの保証はありませんを更新することができます。これが基本的な概念のような主キーである理由です。私は、彼らがしている場合、これは本当に重要ではありませんと仮定し、すべてのあなたが本当に主キーなしで続行したい場合は、ここで示されているのと同じなので....
は、あなたはTOPキーワードを使用する必要があります。How do I update n rows in a table?
UPDATE TOP 1 ....
ありがとうございました – Sandy
アイデンティティ列にIDを追加し、自動インクリメントをオンにします。その後、IDを使用して更新します。あなたには、いくつかの理由でID列を追加することはできません場合は
CREATE TABLE dbo.Family
(
Id int NOT NULL IDENTITY (1, 1),
FamilyName varchar(50) NULL
)
update dbo.Family set FamilyName = 'xxx' where Id = y
確実にID列を追加することを検討します – Sandy
:
UPDATE TOP (1) Families
SET Whatever = 'Your Value', ...
WHERE <Your where clause>
にそれを設定して本当の答えは:データベース設計を修正。すべてのレコードには固有の識別子が必要です。自動増分フィールドなどを追加します。
質問に直接答えるには、「トップ(1)を更新...」と言って1つのレコードのみを更新してください。しかし、独自の識別子がなければ、更新するレコードをどのように知っていますか?プログラムは基本的にランダムなレコードを更新します。どちらが私をポイント1に戻してくれるのですか。
編集:私の元々の答えは、別のエンジンのものでした。上記を訂正。
私は間違いなく私のデータベース設計を見直し、ID列の追加を検討します。ご協力いただきありがとうございます – Sandy
- 1. 自動コマンドを1回だけ実行する
- 2. 毎回ファイル内の1行だけでcrontabを実行する
- 3. Elastic Beanstalkの設定コマンドは、スピンアップ時に1回だけ実行されます。
- 4. ASP.NET MVCでコードを1回だけ実行する
- 5. xunit.netテストでセットアップコードを1回だけ実行する方法
- 6. jQueryトリガ機能を1回だけ実行する
- 7. jQuery Mobile - pageshowイベントを1回だけ実行する
- 8. ループでif文を1回だけ実行する
- 9. jsファイルを1回だけ実行する
- 10. XSLTでは、テンプレートを1回だけ実行できます
- 11. 部分を1回だけ実行しますか?
- 12. Android AutoCompleteTextView:TextChangeでAsyncTaskコールを1回だけ実行します。
- 13. Jquery IE。 1回だけ実行されるajaxリクエスト
- 14. 私のアクティビティは1回だけ実行されますか?
- 15. Handler、Timerは1回だけ実行できますか?
- 16. Javascript setIntervalは1回だけ実行されます
- 17. PostgreSQLでローごとに1回だけ遅延トリガを実行
- 18. TestInitialize&TestCleanupをC#で1回だけ実行する例はありますか?
- 19. Androidデバイスにアプリケーションをインストールした後にコードを1回だけ実行する
- 20. Firefox Addon SDK - 新しいタブでページを1回だけ実行する方法
- 21. セッションごとにFirefox拡張コードを1回だけ実行する
- 22. ボタンを1回だけクリックする(js)
- 23. バックボーンコレクションイベントを1回だけ追加する
- 24. コマンドを複数回実行するシェルスクリプト
- 25. SQLのwhileループは1回だけループします
- 26. onkeyupイベントを1回だけ確実に呼び出す方法
- 27. 私のanimatewithduration、完了ブロックは1回だけ実行されます
- 28. 単純なネストされたsetTimeout()は1回だけ実行されます(JavaScript)
- 29. なぜこのループは1回だけ実行されますか?
- 30. Jqueryはデータを1回だけループするか、データを1回だけ表示します
名前が重複していてプライマリキーがない場合、更新したい "1"の行を特定するにはどうすればよいでしょうか? –
hmmm、異なる列名をチェックすることで、マッチした行数にかかわらず、1つだけ更新して終了する必要があります。あなたの質問には、1つupvote – Sandy
あなたはまだ更新する*どの*行の質問に答える必要があります。 –