create procedure p1()
BEGIN
DECLARE v INT;
SET @uuid1 = UUID();
SET v=0;
WHILE v<2 DO
INSERT INTO t1(id1,@uuid1);
SET v= v+1;
END WHILE;
END;
而t1表结构是
create table t1(
id1 int(10) not null primary key AUTO_INCREMENT,
t1c1 varchar(100))AUTO_INCREMENT = 1;ERROR 1064 (42000): You have an error in your SQL syntax;
BEGIN
DECLARE v INT;
SET @uuid1 = UUID();
SET v=0;
WHILE v<2 DO
INSERT INTO t1(id1,@uuid1);
SET v= v+1;
END WHILE;
END;
而t1表结构是
create table t1(
id1 int(10) not null primary key AUTO_INCREMENT,
t1c1 varchar(100))AUTO_INCREMENT = 1;ERROR 1064 (42000): You have an error in your SQL syntax;
mysql>
mysql> create procedure p1()
-> BEGIN
-> DECLARE v INT;
-> SET @uuid1 = UUID();
-> SET v=0;
-> WHILE v<2 DO
-> INSERT INTO t1 values (id1,@uuid1); -- ACMAIN values !
-> SET v= v+1;
-> END WHILE;
-> END;
-> //
Query OK, 0 rows affected (0.00 sec)mysql> delimiter ;
mysql>
DROP PROCEDURE IF EXISTS ddt$$
CREATE PROCEDURE `testa`.`ddt`()
BEGIN
DECLARE v INTEGER;
SET @uuid1=UUID();
SET v=0;
WHILE v<2 DO
INSERT INTO t1 VALUES(id1,@uuid1);
SET v= v+1;
END WHILE;
END$$DELIMITER ;
mysql> delimiter //
mysql> create procedure p1()
BEGIN
DECLARE v INT;
SET @uuid1 = UUID(); @uuid2 = UUID();@uuid3 = UUID(); @uuid4 = UUID();@uuid5 = UUID(); @uuid6 = UUID();@uuid7 = UUID(); @uuid8 = UUID();@uuid9 = UUID(); @uuid10 = UUID();@uuid11 = UUID();@uuid12 = UUID();@uuid13 = UUID();@uuid14 = UUID();@uuid15 = UUID();@uuid16 = UUID();@uuid17= UUID();@uuid18 = UUID();@uuid19 = UUID();@uuid20 = UUID();
SET v=0;
WHILE v<2 DO
INSERT INTO t1 values(id1,@uuid1,@uuid2,@uuid3,@uuid4,@uuid5,@uuid6,@uuid7,@uuid8,@uuid9,@uuid10,@uuid11,@uuid12,@uuid13,@uuid14,@uuid15,@uuid16,@uuid17,@uuid18,@uuid19,@uuid20);
SET v= v+1;
END WHILE;
END;
//表结构如下:
mysql> create table t1(
-> id1 int(10) not null primary key AUTO_INCREMENT,
-> t1c1 varchar(100),
-> t1c2 varchar(100),
-> t1c3 varchar(100),
-> t1c4 varchar(100),
-> t1c5 varchar(100),
-> t1c6 varchar(100),
-> t1c7 varchar(100),
-> t1c8 varchar(100),
-> t1c9 varchar(100),
-> t1c10 varchar(100),
-> t1c11 varchar(100),
-> t1c12 varchar(100),
-> t1c13 varchar(100),
-> t1c14 varchar(100),
-> t1c15 varchar(100),
-> t1c16 varchar(100),
-> t1c17 varchar(100),
-> t1c18 varchar(100),
-> t1c19 varchar(100),
-> t1c20 varchar(100)
-> )AUTO_INCREMENT = 1;
Query OK, 0 rows affected (0.09 sec)就是按照你述说的改的,可还是出现如下错误呢?
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near '@uuid
2 = UUID();@uuid3 = UUID(); @uuid4 = UUID();@uuid5 = UUID(); @uuid6 = UUID(' at
line 4
Query OK, 0 rows affected (0.00 sec)
否则用逗号