- vừa được xem lúc

[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

0 0 11

Người đăng: Du Nguyen Van

Theo Viblo Asia

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

Bình luận

Bài viết tương tự

- vừa được xem lúc

Nhập môn lý thuyết cơ sở dữ liệu - Phần 1 : Tổng quan

# Trong bài viết này mình sẽ tập trung vào chủ đề tổng quan về Cơ sở dữ liệu. Phần 1 lý thuyết nên hơi chán các bạn cố gắng đọc nhé, chắc lý thuyết mới làm bài tập được, kiến thức còn nhiều các bạn cứ

0 0 110

- vừa được xem lúc

002: Hiểu về Index để tăng performance với PostgreSQL P1

Bài viết nằm trong series Performance optimization với PostgreSQL. Từ bài này sẽ liên quan nhiều đến practice nên các bạn chuẩn bị env và data trước.

0 0 500

- vừa được xem lúc

003: Hiểu về Index để tăng performance với PostgreSQL P2

Bài viết nằm trong series Performance optimization với PostgreSQL. . . B-Tree index.

0 0 527

- vừa được xem lúc

010: Exclusive lock và Shared lock

Bài viết nằm trong series Performance optimization với PostgreSQL. Nếu execute single query:. UPDATE TABLE X SET COLUMN = 'Y' WHERE ID = 1;. .

0 0 50

- vừa được xem lúc

009: Optimistic lock và Pessimistic lock

Bài viết nằm trong series Performance optimization với PostgreSQL. Nghe có vẻ nguy hiểm nhưng cách giải quyết không có gì phức tạp, sử dụng các cơ chế mutual exclusion là giải quyết được vấn đề này.

0 0 57

- vừa được xem lúc

011: PostgreSQL multi-version concurrency control

Bài viết nằm trong series Performance optimization với PostgreSQL. Vậy có cách nào không cần lock mà vẫn concurrent read/write không.

0 0 44