1
ある表から別の表に列をコピーするトリガーがあります。動的変数@nametable
にテーブル名を割り当てるにはどうすればよいですか? 毎日、テーブルの名前は現在の日付によって変わります。トリガー内の動的名表
USE dbo;
DROP TRIGGER IF EXISTS `update_test`;
GO
DELIMITER |
CREATE TRIGGER `update_test` AFTER INSERT ON `hello_send`
FOR EACH ROW
BEGIN
DECLARE nametable VARCHAR(128);
SET @nametable =(DATE_FORMAT(NOW(),"%d%m%Y_v"));
INSERT INTO `dbo`.`nametable` SET
`TIME_` =NEW.`recorded`,
`P1` = NEW.`value1`
ON DUPLICATE KEY UPDATE
`TIME_` = NEW.`recorded`,
`P1` = NEW.`value1`;
END;
はエラーERROR 1146: Table 'dbo.nametable' doesn't exist
は([準備SQLステートメント構文]を見てくださいhttps://dev.mysql.com /doc/refman/5.7/en/sql-syntax-prepared-statements.html) - しかしあなたがしようとしていることは悪い考えのように見えます。 –
これは本当に悪いデザインの選択肢のようです。毎日テーブルを作成し、トリガーでそれを記入しますか?それはあなたがどんなコストで避けるべきかです。 –
「本当に悪いデザインの選択」を毎日のテーブルに載せていますか?そのレコードの自分の列の日付を持つテーブルはどうですか?あなたはこのデザインで非常に苦しい道を歩いて行きました。 – JNevill