SQL while循环不匹配任何条目

时间:2018-08-20 17:31:34

标签: mysql sql

我试图在sql中创建一个while循环,该循环将在我的数据库中创建100个空条目。

我的表结构如下: enter image description here

我的sql查询如下:

SET @id := 1;

WHILE @id <= 100 
BEGIN
    INSERT INTO Sticker (id, sticker_url, user_name, user_nickname, latitude, longitude, adress) VALUES(@id, 'NULL', 'NULL', 'NULL', 1.2, 1.1, 'NULL');
    SET @id = @id + 1;
END

执行查询后,结果为:“无错误” 但是查询没有创建任何条目,这有点奇怪。

SELECT @@ version:5.7.23-0ubuntu0.16.04.1

谢谢..

2 个答案:

答案 0 :(得分:1)

我现在没有方便的mysql框,但我认为这就是您想要的:

SET @id := 1;

WHILE @id <= 100 DO
    INSERT INTO Sticker (id, sticker_url, user_name, user_nickname, latitude, longitude, adress) VALUES(@id, 'NULL', 'NULL', 'NULL', 1.2, 1.1, 'NULL');
    SET @id := @id + 1;
END WHILE;

对不起,我无法测试。但是我认为缺少的主要是要使用DO而不是BEGIN。我敢打赌BEGIN正在开始交易。

答案 1 :(得分:0)

也许问题出在结肠

df.merge(df2.pivot('Name', 'Category', 'Score'), left_on='Name', right_index=True)

      Name  Total Score  Category A  Category B
0  Charles           67           4           9
1    Peter           98           3           1
2     Mark           78           3           3

因为正确的SET语法是

  

SET var_name =值

https://dev.mysql.com/doc/refman/8.0/en/set-statement.html

在WHILE DO中缺少DO