
論理削除とは、boolean型のdeleted_atみたいなものをつけて、trueなら、存在する。falseなら、存在しない(物理的には、存在し、中身はNULL)みたいな事。と認識しているのですが、合っているでしょうか?
deleteではなく、trueの場合のデータを0か、NULLで上書き→falseにする。
という感じで良いでしょうか?また、not nullのフィールドが存在した場合、0を、それ以外はnullを突っ込むという感じですか?
そして、insertの場合、idが自動付番の場合で、10番まで存在し、5番までは、true。6以降はfalseの場合、新しい行を追加するとき、6番目に追加、(update)するのですか?それとも、11番目にcreateするのでしょうか?
No.1ベストアンサー
- 回答日時:
>>論理削除とは、boolean型のdeleted_atみたいなものをつけて、trueなら、存在する。
falseなら、存在しない(物理的には、存在し、中身はNULL)みたいな事。と認識しているのですが、合っているでしょうか?>>deleteではなく、trueの場合のデータを0か、NULLで上書き→falseにする。
>>という感じで良いでしょうか?また、not nullのフィールドが存在した場合、0を、それ以外はnullを突っ込むという感じですか?
あくまで開発/実装方法のひとつなので断言はできませんが、業界でよく耳にする論理削除の意味とはずれています。
・論理削除されたデータの中身をあえてNULLにしたりはしません(だいたいは元のまま)。
・select時やupdate時にwhere句で論理削除済データを除外して、存在しないものとして扱います。
>>そして、insertの場合、idが自動付番の場合で、10番まで存在し、5番までは、true。6以降はfalseの場合、新しい行を追加するとき、6番目に追加、(update)するのですか?それとも、11番目にcreateするのでしょうか?
idが自動付番の場合は11番目に追加することが多いですが、現場によります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
別のDB(Table)からの複数行の...
-
同じサーバーで、異なるデータ...
-
Unionした最後にGROUP BYを追加...
-
【SQL文】Insert into文で文法...
-
[MySQL] 1対多のリレーションで...
-
DB設計について
-
MySQLにてCOUNTした値を更にCOUNT
-
レコード数が増えすぎた場合の対処
-
カラム名でseqとidではどちらが...
-
同一のユーザー、同一商品のと...
-
エクセルの関数について教えて...
-
エクセルで最後の文字だけ置き...
-
PL/SQLの変数について
-
sqlで、600行あるテーブルを100...
-
Access パラメータクエリをcsv...
-
SQLサーバから、項目の属性(型...
-
[MySQL] UNIQUE制約の値を更新...
-
SQLにて特定の文字を除いた検索...
-
VIEWの元のテーブルのindexって...
-
1テーブル&複数レコードの更新...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで最後の文字だけ置き...
-
エクセルの関数について教えて...
-
VIEWの元のテーブルのindexって...
-
エラー 1068 (42000): 複数の主...
-
SQLサーバから、項目の属性(型...
-
select文のwhere句に配列を入れ...
-
SQL Left Join で重複を排除す...
-
Access パラメータクエリをcsv...
-
マイクラPC版のコマンドで効率...
-
【Transact-sql】 execの結果を...
-
sqlで、600行あるテーブルを100...
-
SQLにて特定の文字を除いた検索...
-
1テーブル&複数レコードの更新...
-
PL/SQLの変数について
-
WordpressのContact form 7でzi...
-
複数テーブルのGROUP BY の使い...
-
バインド変数について
-
inner joinをすると数がおかし...
-
MySQLのint型で001と表示する方...
-
updateを1行ずつ実行したい。
おすすめ情報