我想为我的产品制作比赛代码。
我已经创建了一个合适的SQL语句,它基本上使用当前时间戳并在其上运行SHA1。
我前一段时间尝试过我的INSERT命令创建一个迭代循环但是失败了
谁知道怎么做?Do 50 times
INSERT INTO ......
end
此外,我不能拥有两个相同的促销代码,因此每次迭代的时间戳需要不同(如果迭代之间的时间戳可能相同)。
答案 0 :(得分:1)
用python或其他一些脚本语言编写代码。 使用GUID作为促销代码,而不是时间戳的哈希值。
答案 1 :(得分:1)
答案 2 :(得分:1)
我猜你使用PROCEDURE的方法是最好的。我会先设置另一个分隔符,因为你使用';'已:
delimiter //
之后定义您的程序。 INSERT INTO ......
是您的INSERT代码,是您在问题中写的内容。
CREATE PROCEDURE createPromotions(p1 INT)
BEGIN
SET @x = 0;
REPEAT
SET @x = @x + 1;
INSERT INTO ......
UNTIL @x > p1
END REPEAT;
END
//
输入'//'后,程序准备好CALL
。如果你想执行50次,只需拨打50次:
CALL createPromotions(50)
答案 3 :(得分:0)
这很脏,但是如果你的系统上有任何表,你知道它有超过50行,你可以执行以下操作:
create table promotion_code ( pc varchar(100) );
set @c = 1;
insert into promotion_code
select sha1( now() + (@c := @c + 1 ) )
from mysql.help_relation limit 50;
答案 4 :(得分:0)
CREATE PROCEDURE createPromotions(p1 INT)
BEGIN
SET @x = 0;
REPEAT SET @x = @x + 1; UNTIL @x > p1 END REPEAT;
END
这样的某种过程会很好但我不知道如何将它变成我需要的格式。这是重复一次SQL语句50次