一个用户在不同表里都有记录,怎么删除比较好?
目前后台有一个删除用户的功能,但是由于功能模块很多,需要清理用户在多张表下的记录。
<code> //清除该用户的所有发布的文章以及文章关联的标签 //清除该用户的所有关注的标签 //清除该用户的所有问题 //清除该用户的所有回答 //清除该用户的所有积分 //清除该用户的所有评论 //清除该用户的所有收藏 //清除该用户的所有问题关注 //清除该用户的所有私信 //清除该用户的所有消息通知 //清除该用户的所有草稿 //清除赠送给用户的所有邀请码 //清除该用户所有的邀请回答 //清除该用户的好友关系 //清空用户统计表 //清除用户的报名记录 .... </code>
大家一般如何处理,是确实清除这些相关信息么。还是对删除的用户信息进行保留,只是用标识不做查询??
回复内容:
目前后台有一个删除用户的功能,但是由于功能模块很多,需要清理用户在多张表下的记录。
<code> //清除该用户的所有发布的文章以及文章关联的标签 //清除该用户的所有关注的标签 //清除该用户的所有问题 //清除该用户的所有回答 //清除该用户的所有积分 //清除该用户的所有评论 //清除该用户的所有收藏 //清除该用户的所有问题关注 //清除该用户的所有私信 //清除该用户的所有消息通知 //清除该用户的所有草稿 //清除赠送给用户的所有邀请码 //清除该用户所有的邀请回答 //清除该用户的好友关系 //清空用户统计表 //清除用户的报名记录 .... </code>
大家一般如何处理,是确实清除这些相关信息么。还是对删除的用户信息进行保留,只是用标识不做查询??
首先,如上面各位所说,尽量不要删除重要数据。
其次,如果你确实需要实现主表删除,从表自动删除的功能。只需要在数据库里添加外键,并设置为ON DELETE CASCADE。
这种外键在删除主表数据时,会自动删除从表中执行被删除数据的记录。只要外键设计的好。主表删除一条数据,一堆从表跟着删得尸横片野……
最好是在表中新增一个字段,标识出该条记录是否删除。
设置一个标识字段,将用户标识为已经删除,之后查找的时候,所有与用户相关的个人数据就无法在查找到也就不用做过多的操作。至于统计之类的则可以多加一个对于用户是否可用的判断即可。
我觉得也是,数据一定不要删,保不齐你那天又想要了。没了可咋整。。
一个事物保准给她删的干干静静
放在一个数据库事务中,一起删除
参考laravel的soft delete 增加一个字段delete_at 默认为null 删除的时候更新为当前时间
你敢删数据?!我报警了!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas











session_start () iscrucialinphpformanaginguserSessions.1) itinitiatesanewsessionifnoneexists, 2) resumeSanexistingsession, dan3) setSasessionCookieforcontinuityAcrossrequests, enableingApplicationeUseUshenticationandPersonalConizedConizedContentContentContentContentContentContentContentContentContentContentContentC.

Di MySQL, tambah medan menggunakan alterTabletable_nameaddcolumnnew_columnvarchar (255) afterexisting_column, memadam medan menggunakan altertabletable_namedropcolumncolumn_to_drop. Apabila menambah medan, anda perlu menentukan lokasi untuk mengoptimumkan prestasi pertanyaan dan struktur data; Sebelum memadam medan, anda perlu mengesahkan bahawa operasi itu tidak dapat dipulihkan; Mengubah struktur jadual menggunakan DDL dalam talian, data sandaran, persekitaran ujian, dan tempoh masa beban rendah adalah pengoptimuman prestasi dan amalan terbaik.

Fungsi MySQL boleh digunakan untuk pemprosesan dan pengiraan data. 1. Penggunaan asas termasuk pemprosesan rentetan, pengiraan tarikh dan operasi matematik. 2. Penggunaan lanjutan melibatkan menggabungkan pelbagai fungsi untuk melaksanakan operasi kompleks. 3. Pengoptimuman prestasi memerlukan mengelakkan penggunaan fungsi dalam klausa WHERE dan menggunakan GroupBy dan jadual sementara.

Untuk selamat dan teliti menyahpasang MySQL dan membersihkan semua fail sisa, ikuti langkah -langkah berikut: 1. Hentikan perkhidmatan MySQL; 2. Nyahpasang pakej MySQL; 3. Fail konfigurasi bersih dan direktori data; 4. Sahkan bahawa pemotongan adalah menyeluruh.

Kaedah yang cekap untuk memasukkan data dalam MySQL termasuk: 1. Menggunakan sintaks Insertinto ... Sintaks, 2. Menggunakan perintah LoadDatainFile, 3. Menggunakan pemprosesan transaksi, 4. Laraskan saiz batch, 5. Lumpuhkan pengindeks

Komposer adalah alat pengurusan ketergantungan untuk PHP, dan menguruskan kebergantungan projek melalui fail komposer.json. 1) parse composer.json untuk mendapatkan maklumat ketergantungan; 2) Mengurangkan kebergantungan untuk membentuk pokok pergantungan; 3) Muat turun dan pasangkan kebergantungan dari Packagist ke Direktori Vendor; 4) Menjana fail komposer.lock untuk mengunci versi ketergantungan untuk memastikan konsistensi pasukan dan kebolehkerjaan projek.

Sebab mengapa MySQL digunakan secara meluas dalam pelbagai projek termasuk: 1. Prestasi tinggi dan skalabilitas, menyokong pelbagai enjin penyimpanan; 2. Mudah untuk digunakan dan mengekalkan, konfigurasi mudah dan alat yang kaya; 3. Ekosistem yang kaya, menarik sejumlah besar sokongan alat komuniti dan pihak ketiga; 4. Sokongan silang platform, sesuai untuk pelbagai sistem operasi.

Gunakan perintah Jelaskan untuk menganalisis pelan pelaksanaan pertanyaan MySQL. 1. Perintah Jelaskan memaparkan pelan pelaksanaan pertanyaan untuk membantu mencari kesesakan prestasi. 2. Pelan pelaksanaan termasuk medan seperti ID, Select_Type, Jadual, Jenis, Kemungkinan_Keys, Key, Key_Len, Ref, Rows dan Extra. 3. Menurut pelan pelaksanaan, anda boleh mengoptimumkan pertanyaan dengan menambahkan indeks, mengelakkan imbasan meja penuh, mengoptimumkan operasi gabungan, dan menggunakan indeks overlay.
