mySQLベンチでBEFORE INSERT TRIGGERを作成する際に助けが必要です。私はこれで初めてです。 MYSQLでBEFORE INSERT TRIGGERを作成する
CREATE TABLE `quincyninying`.`toytracking` (
`Toyid` INT NOT NULL,
`ToyName` VARCHAR(50) NULL,
`Toycost` DECIMAL NULL,
`ToyAction` VARCHAR(50) NULL,
`ActionDate` DATETIME NULL,
PRIMARY KEY (`Toyid`));
CREATE TABLE `quincyninying`.`toy` (
`Toyid` INT NOT NULL,
`ToyName` VARCHAR(50) NULL,
`Toycost` DECIMAL NULL,
PRIMARY KEY (`Toyid`));
は、「挿入」と現在の日付になります挿入されているおもちゃのテーブルレコードからの情報、ハードコーディングされたToyActionでtoytrackingテーブルにレコードを追加おもちゃのテーブルの上にBEFORE INSERTトリガーを作成します。レコードが挿入される時刻。
ERROR 1054: Unknown column 'inserted' in 'NEW' SQL Statement:
CREATE DEFINER = CURRENT_USER TRIGGER `quincyninying`.`toy_BEFORE_INSERT` BEFORE INSERT ON `toy`
FOR EACH ROW
BEGIN
IF new.inserted THEN
SET @toyaction = 'DELETE';
ELSE
SET @toyaction = 'NEW';
END IF;
INSERT INTO `quincyninying`.`toytracking` (toyId, ToyName, ToyCost, Toyaction, ActionDate)
VALUES (new.toyid, new.Toyname, new.Toycost,@Toyaction, now());
END
それは言って私にエラーをスロー「ERROR 1054:で 『挿入』不明な列 『NEW』」何という名前の列、およびちょうどハードはありませんので、
それはかなり明らかです。 'TOY'テーブルに 'inserted'という名前の列がありません。達成したいことは何ですか?また、あなたのテーブルデザインは一般的ではありません。これらの2つのテーブルの間には重複した情報があります。 – Hermanto
私は、INSERTEDされている玩具テーブルレコードからの情報と、INSERTされたToyActionと現在の日付と時間を記録したtoytrackingテーブルにレコードを追加する、玩具テーブルのBEFORE INSERTトリガーを使用したい挿入されます。 – ninying90
「IF new.inserted」とは何をテストしていますか? – Barmar