HomeSQL Server

Khắc phục lỗi “string or binary data would be truncated” trong SQL Server

Khắc phục lỗi “string or binary data would be truncated” trong SQL Server
Like Tweet Pin it Share Share Email

Khi làm việc với SQL Server, chắc hẳn bạn đã có thể gặp lỗi “string or binary data would be truncated“, nhiều lần, lỗi này được tạm dịch là “Chuỗi hoặc dữ liệu nhị phân sẽ được rút ngắn”.

Nguyên nhân bị lỗi string or binary data would be truncated

Khi thao tác với các trường kiểu chuỗi như nvarchar, char, nchar,…. Nếu dữ liệu của bạn lại vượt quá số lượng ký tự giới hạn của cột đang chứa dữ liệu đó thì sẽ báo lỗi này.

Ví dụ: bạn tạo một bảng dữ liệu có tên là Nhân Viên, có các cột Mã Nhân Viên, Họ Tên Nhân Viên, địa chỉ nhân viên, số điện thoại, Địa chỉ nhân viên. Mình bỏ qua các cột khác và chú ý đến cột Địa chỉ Nhân Viên, có kiểu dữ liệu là nvarchar(50). Nhưng khi thêm dữ liệu, chuỗi dữ liệu của bạn là “227 Nguyễn Văn Cừ, Phường 4, Quận 5, Tp Hồ Chí Minh”, có chưa tới tới 51 kí tự. Lúc này, cột Địa chỉ Nhân Viên sẽ không thể chứa đủ chuỗi 51 kí tự này, vì cơ sở dữ liệu bạn đã khai báo chỉ có 50 kí tự. Và lúc này sẽ báo lỗi “string or binary data would be truncated“.

Cách khắc phục string or binary data would be truncated

Để tránh bị lỗi này, các bạn cần chú ý điều chỉnh độ dài của các trường dữ liệu phù hợp. Tốt nhất là đối với các kiểu dữ liệu chuỗi bạn nên xem xét khai báo độ dài dữ liệu một cách bao quát nhất, hoặc khai báo để cho người dùng nhập thoải mái. Và để khắc phục triệt để lỗi này bạn cần phải check validate khi nhập liệu. Đó là check độ dài kí tự nhập vào của ô nhập liệu đó.

Chúc bạn tránh gặp lỗi này. Nếu có thắc mắc gì, gửi bình luân bên dưới mình sẽ giải đáp.

Comments (24)

Trả lời

Your email address will not be published. Required fields are marked *