Trước đây tôi đã nói rằng điều này không thể được thực hiện, nhưng tôi đã sai. Bản thân tôi cũng cần một thứ như thế này nên tôi đã xem xét xung quanh và phát hiện ra rằng câu lệnh được chuẩn bị từ phía máy chủ cho phép bạn xây dựng và thực thi các câu lệnh SQL tùy ý từ các chuỗi.
Đây là một ví dụ tôi vừa làm để chứng minh khái niệm:
set @query := (
select concat(
"select",
group_concat(concat("\n 1 as ", column_name) separator ','),
"\nfrom dual")
from information_schema.columns
where table_name = 'columns')
;
prepare s1 from @query
;
execute s1
;
deallocate prepare s1
;