Error Code: 1292. Truncated incorrect DOUBLE value: 'abc'
그저 Database index를 공부하고 싶었다.
책을 보고 개념을 조금 알고는 유튜브에 있는 영상을 보는데 프로시져를 사용하고 있었다
```java
USE `security`;
DROP procedure IF EXISTS `add_datas`;
DELIMITER $$
USE `security`$$
CREATE PROCEDURE `add_datas` ()
BEGIN
DECLARE counter INT;
declare name varchar(50);
declare email varchar(50);
declare dept varchar(10);
set counter =1;
while(counter <=100000) DO
SET name = 'ABC' +RTRIM(counter);
SET email = 'abc'+RTRIM(counter)+'@naver.com';
SET dept = 'Dept'+RTRIM(counter);
INSERT INTO employee values(name,email,dept);
SET counter = counter+1;
if(counter%10000=0) THEN
SELECT RTRIM(counter)+' rows inserted';
END IF;
END WHILE;
END$$
DELIMITER ;
다음을 완성했다.
하지만
call add_datas;
를 하니 에러가 나왔다.
💥💥💥Error Code: 1292. Truncated incorrect DOUBLE value: 'abc'
이 말을 보고는 이유를 전혀 모르겠었다. 데이터 타입을 text로 변경해 보기도 했지만 역시 소용없었다.
CREATE DEFINER=`root`@`127.0.0.1` PROCEDURE `add_datas`()
BEGIN
DECLARE counter INT;
declare name varchar(50);
declare email varchar(50);
declare dept varchar(50);
SET counter =1;
while(counter <=100000) DO
SET
name = concat('ABC',RTRIM(counter)),
email = concat('abc',RTRIM(counter),'@naver.com'),
dept = concat('Dept',RTRIM(counter));
INSERT INTO employee values(null,name,email,dept);
SET counter = counter+1;
if(counter%10000=0) THEN
SELECT RTRIM(counter)+' rows inserted';
END IF;
END WHILE;
END
다음과 같이 변경하니 에러가 뜨지 않게 되었다.
10000개가 insert될때마다 select 문을 통해 띄우게 했다.