- 25/6/06
- 1,744
- 2,211
Bất cứ phần mềm nào lập trình viên khi lập trình cho 1 lệnh create trong database thì phải luôn kiểm tra trùng id trước khi thực hiện lệnh nhé. ALO là game lớn, nếu theo đúng thực tế thì chắc chắn cũng phải có bước kiểm tra đó. Tức là cho dù anh đen có hoàn thành các việc đăng ký info và bấm OK như cậu nói thì hệ thống sẽ vẫn check id của anh ấy rồi mới để anh ấy vào game![]()
Cái này tùy vào cái thằng code phần đó, như mình nói ở trên, có khả năng là hệ thống check thấy anh đăng nhập lần đầu nên hiện ra luôn cái bảng create character và tutorial... Còn sau đó nó lưu char vào database thì thấy id bị trùng, nên có thể hệ thống tự động merge 2 cái data cũ và mới lại để cho an toàn, hoặc là do database admin chỉnh setting nó sẽ tự động merge cho các trường hợp bị trùng. Hiện nay thì mấy cái SQL bt chẳng có thể làm được như vậy. Vì như bạn nói, insert mà bị trùng ID là văng lỗi bên database và client liền. Còn mấy cái non-SQL sau này là nó merge với overwrite hết nên trường hợp như anh Đen vẫn xảy ra được.
Mà... mấy cái này mình thấy tác giả muốn nói sao chẳng được, nói chung cũng có khả năng xảy ra, như mình và bóng râm ác độc đang giải thích....
Nên mình không thấy có quan trọng tới mức bị cho là plothole hay gì đó.
Chỉ có thể check trùng id khi insert rồi báo lỗi thôi.
vốn thằng Sugou nó lấy database của SAO để phục vụ nghiên cứu của nó thôi. Nên chắc chắn là không dùng chung phần database đó cho ALO rồi, chỉ có phần nó ko kiểm soát đc mới chạy lung tung trong ALO thôi.




