テーブルにトリガーを作成し、そこにデータを挿入しようとすると、MySql エラー "エラー コード: 1054 'unknown column license_key in field list'" が発生します。
私がやろうとしているINSERTはこれです:
INSERT INTO LOAD_MASTER(license_key, state, total_pageviews, total_visitors, max_visitors, max_pageviews, ip, secret, read_time, url)
VALUES ("order55555hytgtrfderfredfredfredftyu8ikloi98nhygt6", "preparing", 400, 1000, 200, 400, "202,2,35,36", "Hemmeligheden", 120, "http://google.dk");
私が作成したトリガーは、LOAD_MASTER テーブルに入力された IP の存在について TABLE LOAD_STATS をチェックし、結果に基づいて LICENSE という別のテーブルの値を変更することになっています。
私のトリガーはここにあります:
DELIMITER //
CREATE TRIGGER ip_check AFTER INSERT ON LOAD_MASTER FOR EACH ROW
BEGIN
DECLARE MK varchar(50);
DECLARE MIP varchar(15);
DECLARE LID int(6);
SET MK = license_key;
SET MIP = ip;
SET LID = (
SELECT l.license_id
FROM license_keys k, license l
WHERE l.license_id = k.license_id
AND k.license_key = MK
);
IF (SELECT COUNT(DISTICT(master_ip)) FROM LOAD_STATS WHERE master_ip = MIP AND master_key = MK ) > 3 THEN
UPDATE LICENSE
SET STATE = 0
WHERE license_id = LID;
END IF;
END
//
DELIMITER ;
このエラーが発生する理由についてのヘルプは、非常に高く評価されます。
-ダン