私も123のテーブルを持っています:M001->M010->M123。それぞれがクライアントです。トリガーを使用して親テーブルのレコードに到達すると、次のような関数が呼び出されます。
Declare MasterX int;
Set MasterX = New.Master;
Call Lecturas_Insertar(MasterX,New.Id);
これは私の機能です:
BEGIN
#Set Master
If MasterX < 10 Then
Set MasterX = Concat("lecturas.M00",MasterX);
End If;
#Set Master
If MasterX Between 10 and 99 Then
Set MasterX = Concat("lecturas.M0",MasterX);
End If;
set @a=concat("INSERT INTO ",MasterX, "(Id) Values(" ,Id, ")");
PREPARE stmt1 FROM @a;
EXECUTE stmt1;
DEALLOCATE PREPARE stmt1;
END
しかし、それは常に私に次のエラーをスローします:
Procedure execution failed
1146 - Table 'lecturas.M' does not exist
すべての助けをありがとう