PDA

View Full Version : [MU] Code xóa dữ liệu Thế Hệ



lequangvu
08-12-14, 09:59 AM
Chào các bạn! hiện mình mới code xong chức năng xóa dữ liệu của Thế Hệ nếu dùng chức năng Thế Hệ để mở cụm mới, nên viết bài hỏi xem có nên share không nhỉ :D

Chức năng chính là xóa toàn bộ dữ liệu của 1 Thế Hệ cần xóa hoặc xóa dữ liệu chỉ để lại thông tin trên table MEMB_INFO

Mình muốn các bạn góp ý thêm có nên share hay không chứ không nhận gạch đá nhé, cảm ơn!

Bonus thêm cái hình:

<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>

The Gamer
08-12-14, 12:04 PM
Xóa nhân vật đồ đặc alphatest thế hế 2


Delete from accountCharacter where ID in (select memb___id from memb_info where thehe = '2')
delete from character where accountid in (select memb___id from memb_info where thehe = '2')
delete from warehouse where accountid in (select memb___id from memb_info where thehe = '2')

update memb_info
set gcoin ='0', vpoint ='0',SCFVipMoney='0',bank= 0, MuItemShopList = null where memb___id in (select memb___id from memb_info where thehe = '2')

Delete MEMB_STAT where memb___id in (select memb___id from memb_info where thehe = '2')

BladeKnight109
08-12-14, 01:09 PM
Xóa nhân vật đồ đặc alphatest thế hế 2

delete cũng phải theo đúng thứ tự, nếu mà database đã tạo các mối quan rệ ràng buộc thì query trên của bạn sẽ bị lỗi ngay.

The Gamer
08-12-14, 01:14 PM
delete cũng phải theo đúng thứ tự, nếu mà database đã tạo các mối quan rệ ràng buộc thì query trên của bạn sẽ bị lỗi ngay.

đã thử và chưa lỗi cậu nhé

mình ko mang cái gì chưa thử lên nghịch đâu

cái query này mình có tầm gần 2 năm nhưng ko sài do đợt config web bị lỗi

nhưng thử chạy query thì chưa thấy lỗi gì ở DB cả

BladeKnight109
08-12-14, 01:29 PM
đã thử và chưa lỗi cậu nhé

mình ko mang cái gì chưa thử lên nghịch đâu

cái query này mình có tầm gần 2 năm nhưng ko sài do đợt config web bị lỗi

nhưng thử chạy query thì chưa thấy lỗi gì ở DB cả

bạn thử với DB đã tạo rang buộc các quan hệ đi (Relationship)
Hầu như các DB MU ko hề tạo các ràng buộc.
Theo nguyên tắc khi thiết kế 1 CSDL là phải có.
Bạn tìm hiểu về phân tích thiết kế hệ thống thông tin, Mô hình quan hệ.. thì bạn sẽ hiểu được nó như thế nào.
Code của bạn chạy trên DB ko có các quan hệ ràng buộc thì ko vấn đề gì, nhưng chạy trên DB có quan hệ ràng buộc sẽ xảy ra Lỗi.
Nguyên tắc là phải xóa con trước khi xóa cha, nhưng theo trên vị trí của bạn đặt các câu query không theo nguyên tắc đó.
Đó chính là lý do vì sao, khi tạo 1 nhân vật, xong xóa nhân vật đó thì có 1 số thành phần trong database không bị xóa theo.

lequangvu
08-12-14, 01:37 PM
Mình code thành 1 file php tích hợp vào web quản lý adm cho các adm mu, chức năng có tùy chọn và dễ sử dụng không cần phải mất công vào chạy query nhầm phát thì cũng vui :D
Ai đã có rồi hoặc biết làm rồi thì không phải bàn, mình chỉ hướng đến những người chưa biết viết query và không muốn dùng query tránh nhầm và lỗi

@BladeKnight109: nói như bạn rất đúng.
@muonline2012: bạn là chỉ xóa các table khác và reset lại table MEMB_INFO thôi, bạn thử xóa cả dữ liệu trên table MEMB_INFO mà chạy bằng query như vậy xem :D