Tôi đang cố gắng thực hiện một số thao tác đơn giản với các biến trong MySQL 5.0 nhưng tôi không thể làm cho nó hoạt động. Tôi đã thấy nhiều (rất!) Cú pháp khác nhau cho DECLARE / SET, tôi không chắc tại sao ... trong mọi trường hợp, tôi có lẽ đang nhầm lẫn chúng / chọn sai / trộn chúng.
Đây là một phân đoạn tối thiểu bị lỗi:
DECLARE FOO varchar(7);
DECLARE oldFOO varchar(7);
SET FOO = '138';
SET oldFOO = CONCAT('0', FOO);
update mypermits
set person = FOO
where person = oldFOO;
Tôi cũng đã thử gói nó bằng BEGIN ... END; và như một THỦ TỤC. Trong trường hợp này, MySQL Workbench hữu ích cho tôi biết: "Lỗi cú pháp SQL gần ')'" trên dòng đầu tiên và "Lỗi cú pháp SQL gần 'DECLARE oldFOO varchar (7)'" ở dòng thứ hai. Nếu không, nó cung cấp cho cả hai dòng là lỗi đầy đủ, với "Lỗi cú pháp SQL gần ..." trên cả hai.
Chỉnh sửa: Tôi quên đề cập rằng tôi đã thử nó có và không có @s trên các biến. Một số tài nguyên có nó với, những người khác không có.
Tôi đang phạm sai lầm ngớ ngẩn nào vậy?