原理是使用存储过程
然后循环
DROP PROCEDURE IF EXISTS proc_initData;
DELIMITER $
CREATE PROCEDURE proc_initData()
BEGIN
DECLARE i INT DEFAULT 1;
WHILE i<=10000 DO
INSERT INTO user
(name
, phone
, sex
, auth
, status
) VALUES(LAST_INSERT_ID(),LAST_INSERT_ID(),LAST_INSERT_ID(),LAST_INSERT_ID(),‘0’);
SET i = i+1;
END WHILE;
END $
CALL proc_initData();
bc
DROP PROCEDURE IF EXISTS proc_initData;
DELIMITER $
CREATE PROCEDURE proc_initData()
BEGIN
DECLARE i INT DEFAULT 1;
WHILE i<=300000 DO
UPDATE `book_tree` SET `page_count` = (SELECT page_count FROM `book_info` WHERE id = i) WHERE `book_id` = i;
SET i = i+1;
END WHILE;
END $
CALL proc_initData();
DROP PROCEDURE IF EXISTS proc_initData;
DELIMITER $
CREATE PROCEDURE proc_initData()
BEGIN
DECLARE i INT DEFAULT 1;
WHILE i<=1000 DO
SET @bookid =
(SELECT
id
FROM
`book_info`
WHERE `english_name` =
(SELECT
`english_name`
FROM
`book_infodr`
WHERE id = i
AND `pdf` IS NOT NULL)
AND `author` =
(SELECT
`author`
FROM
`book_infodr`
WHERE id = i
AND `pdf` IS NOT NULL) LIMIT 1) ;
UPDATE
`book_info`
SET
`file_path` =
(SELECT
`pdf`
FROM
`book_infodr`
WHERE id = i)
WHERE id = @bookid;
SET i = i+1;
END WHILE;
END $
CALL proc_initData();
循环更新数据
DROP PROCEDURE IF EXISTS proc_initData;
DELIMITER $
CREATE PROCEDURE proc_initData()
BEGIN
DECLARE i INT DEFAULT 5245;
WHILE i<=9451 DO
SET @idv = (SELECT id FROM `data_tree` WHERE `type_number` = (SELECT `category` FROM `book_info` WHERE id = i));
SET @pidv =(SELECT `parent_id` FROM `data_tree` WHERE `type_number` = (SELECT `category` FROM `book_info` WHERE id = i));
UPDATE book_tree SET `two_level_id` = @pidv,`three_level_id`= @idv WHERE `book_id` = i;
SET i = i+1;
END WHILE;
END $
CALL proc_initData();