Đây là cách bạn nối các giá trị trong SQL động:
set @Pattern = '%augusto%';
select @q := concat('select * from Table1 ',
'where concat(', group_concat(column_name), ', "") like "', @Pattern, '"'
)
from information_schema.columns c
where table_name = 'Table1';
prepare st from @q;
execute st;
deallocate prepare st;
Tất nhiên, SQL động không phải là đặc biệt di động. Ý tưởng sẽ hoạt động trong hầu hết các cơ sở dữ liệu. Mã sẽ trông khác.
Đã kiểm tra và hoạt động tại đây .
Và cuối cùng, bạn có thể làm điều này với thay thế biến (là cách tiếp cận tốt hơn):
select @q := concat('select * from Table1 ',
'where concat(', group_concat(column_name), ', "") like ?'
)
from information_schema.columns c
where table_name = 'Table1';
set @p = '%augusto%';
prepare st from @q;
execute st using @p;
deallocate prepare st;
Cũng đã được thử nghiệm (;-).