[DATABASE] Típ Hay lập trình tạo các trường thông tin trùng với các key đặc biệt và rút ra kinh nghiệm sương máu xử lý lỗi o.h.e.j.s.SqlExceptionHelper: SQL Error: 1064, SQLState: 42000
Hello anh em Du Nguyễn code lởm nay bắt đầu ra bài viết đầu tiên và kinh nghiệm sương máu sau 3 năm đi làm lập trình viên quèn
- Hi không dài dòng nữa code lởm chia sẻ tip vô cùng hữu ích và anh em nên tránh xa ra nhé Truyền thuyết kể rằng anh em cứ tạo bảng làm đúng solution trên mạng kết nối database và các bài viết CRUD là ae đã thành công trên con đường sự nghiệp rồi nhưng không đơn giản như mơ
Code lởm nay chia sẻ bí kíp mà nghĩ đúng nhưng lại không đúng
- Bài toán đơn giản như này thôi yêu cầu từ phía khách hàng X là ê Thằng lười làm sao mình lưu được lịch sử truy cập của user thế là tôi chia sẻ kinh nghiệm hay ho Du code lởm có ý kiến tạo bảng là lưu được thôi
- OK được làm thôi làm xong đi uống bia nay ngày doanh nhân việt nam đấy nhớ
- Du code lởm nghĩ đơn giản 30p là xong nhưng đời không nhanh như thế 3hs mới xong được . Tại sao lại lâu như thế cùng đoán xem nhé Du code lởm bắt đầu như bao lập trình viên khác tạo bảng model + responsitory + service + controller : À quên nay Du code lởm dùng JAVA Spring boot để lười code đấy cơ bản thì đơn giản rồi
Bắt đầu tạo hết tất cả rồi nhưng không được đến lúc RUN APPLICATION thì tèo : Như bao lập trình viên khác là tìm xem fix như nào và lỗi tớ tìm thấy là
insert into user_log (body_mess, key, platform, title, user_id) values (?, ?, ?, ?, ?)
10-13 17:26:12,647 WARN o.h.e.j.s.SqlExceptionHelper: SQL Error: 1064, SQLState: 42000
10-13 17:26:12,647 ERROR o.h.e.j.s.SqlExceptionHelper: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'key, platform, title, user_id) values ('xx', 'xx', 'android', '' at line 1
10-13 17:26:12,657 ERROR c.c.g.s.AIHelpService: Servide errororg.springframework.dao.InvalidDataAccessResourceUsageException: could not execute statement; SQL [n/a]; nested exception is org.hibernate.exception.SQLGrammarException: could not execute statement
Code xong tự tin lắm đến lúc lỗi fix mãi không được cáu v* khách hàng bảo đừng có mồm điêu
Vậy là Du code lởm cay .. Nhưng vẫn phải fix lỗi thôi quanh đi quẩn lại search trên trời dưới biển fix lỗi thôi nào thì "How to fix xxx " , nào thì đọc tại liệu "CRUD JAVA SPRIng boot with JPA " vân vân và mây mây vẫn không giải quyết được vấn đề . pase cả đoạn lỗi lên các công cụ AI như chat GPT các kiểu dùng Bing luôn ... Mãi vẫn lỗi kia nghĩ lại cay nên Du lười không nghĩ nữa cầu cứu ae trong giới giang hồ lập trình Du quen . Thế là cũng không được luôn Du quyết định tự fix
Cách giải quyết là đổi tên các trường nhìn SQL lỗi là nghi nghi rồi
- Trước Du code lởm có tạo bảng history với bảng user_log (body_mess, key, platform, title, user_id)
- Giờ Du đổi hết sang ser_log (body_mess, key_log, platform_log, title, user_id)
Run lại application ôi trời ơi được nè vậy là vấn đề được giải quyết
- AE rút kinh nghiệm sau có vấn đề tạo bảng nên tạo các trường tránh đặc biệt nhá như key ,platform ...
- Đây Bài viết đầu tiên của tớ còn nhiều thiếu xót chúc các doanh nhân việt nam ngày càng sức khỏe
All Rights Reserved