目標
CATEGORYID
完了するまで、挿入1
ごとに増やします。5
WHILE
シナリオ
BEGIN
DECLARE MaxAnnounces INT UNSIGNED DEFAULT 5;
DECLARE Counter INT UNSIGNED DEFAULT 1;
DECLARE NewWeek INT UNSIGNED DEFAULT
(SELECT WEEKID FROM announces_empire ORDER BY WEEKID DESC LIMIT 1);
START TRANSACTION;
WHILE Counter < MaxAnnounces DO
INSERT INTO announces
(NAME, CAPTION, DESCRIPTION, IMAGEURL, LINK, CATEGORYID, WEEKID, YEARID)
VALUES
("Hello!",
"Click here.",
"Can you tell me your name?",
"example.com/img.jpg",
"google.com",
-- HERE I WANT TO INCREASE BY 1 EACH 5 INSERTS --
40,
2013);
SET Counter = Counter + 1;
END WHILE;
COMMIT;
END
問題
構文がわかりません。
問題のハイライト
-- HERE I WANT TO INCREASE BY 1 EACH 5 INSERTS --
私はこの方法で何かをしようとしていたのではなく:
IF(Counter % 5, x + 1, 1),
x
まだ定義していない変数はどこにありますか。
ギエルメ、どうしてこれを使えないのIF
?何が起こるのですか?このようにすると、挿入される値は常に1
.
誰か私に光をくれませんか?