動的SQLで値を連結する方法は次のとおりです。
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;
もちろん、動的SQLは特に移植性がありません。このアイデアはほとんどのデータベースで機能します。コードは異なって見えます。
テストされ、動作しているここ 。
そして最後に、変数置換を使用してこれを行うことができます(これはより良いアプローチです):
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;
また、テスト済み(;-)。