これについてはすでに多くの回答がありますが、上記で見たことのない 2 つの主要な点を追加したいと思います。
多くの場合、顧客、ユーザー、または別の部門の開発者でさえも問題にぶつかり、操作に問題があると連絡してきました。問題が発生しているレコードを尋ねます。現在、顧客名、注文数、目的地などのグリッドなど、画面に表示されるデータは、多くのテーブルの集合体です。彼らは、ID 83 に問題があると言っています。「id」と呼ばれるだけでは、それがどの ID で、どのテーブルであるかを知る方法はありません。
つまり、データの行は、それがどのテーブルからのものかを示すものではありません。たまたまデータベースのスキーマをよく知っていない限り (複雑なシステムや、引き継ぐように言われた未開発のシステムではめったにありません)、より多くのデータがあっても id=83 が何を意味するのかわかりません。名前、住所など (同じテーブルにあるとは限りません!)。
この ID はグリッドから取得されたものであるか、API のエラーから取得されたものである可能性や、エラー メッセージを画面またはログ ファイルにダンプする不適切なクエリから取得されたものである可能性があります。
多くの場合、開発者は「ID」を列にダンプするだけでそれを忘れます。多くの場合、DB には Invoice、InvoiceGrouping、InvoicePlan などの類似のテーブルが多数あり、ID はそれらのいずれかである可能性があります。イライラして、コードを調べてそれがどれであるかを確認すると、モデルでも Id と呼ばれていることがわかります。そのため、ページのモデルがどのように構築されたかを掘り下げる必要があります。Id が何であるかを理解するために、これを何回実行しなければならなかったか数え切れません。それは多い。ヘッダーとして「Id」を返すだけの SPROC も掘り出す必要がある場合があります。悪夢。
- 何が問題だったのかが明確になると、ログ ファイルがより簡単になります
多くの場合、SQL は非常にくだらないエラー メッセージを表示することがあります。「ID 83 のアイテムを挿入できませんでした。列が切り捨てられます」など、デバッグが非常に困難です。多くの場合、エラー メッセージはあまり役に立ちませんが、通常、破損したものは、主キーの名前と値をダンプするだけで、どのレコードが破損したかをあいまいに伝えようとします。それが「ID」である場合、それはまったく役に立ちません。
これは、他の回答で言及されていないと感じた2つのことです。
また、多くのコメントが「X の方法でプログラムする場合、これは問題にならない」というものだと思います。上記のポイント (およびこの質問に関するその他のポイント) は、特に人々のプログラミング方法と、彼らには、完璧なロギングとエラー処理をプログラミングしたり、SQL やコードをすばやく書くという根深い習慣を変えたりするための時間、エネルギー、予算、先見の明がありません。