Tôi đã tìm thấy một giải pháp cho điều này:
Đầu tiên, hãy tạo một hàm:
delimiter //
CREATE FUNCTION `func_inc_var_session`() RETURNS int
NO SQL
NOT DETERMINISTIC
begin
SET @var := @var + 1;
return @var;
end
//
delimiter ;
Sau đó, đặt @var thành số bạn muốn bắt đầu. Trong trường hợp này là 0.
Sau đó, tạo chế độ xem như sau:
CREATE OR REPLACE VIEW myview (place, name, hour, price, counter)
AS SELECT place, name, hour, price, func_inc_var_session()
FROM yourtable
WHERE input_conditions_here;
Mẹo ở đây là bạn có thể thấy NULL trên cột bộ đếm. Nếu điều này xảy ra, vui lòng đặt lại @var thành số của bạn rồi thực hiện lại CHỌN * và bạn sẽ thấy cột bộ đếm được điền chính xác.