demo.txt
ip가 포함된 파일이 있습니다 . 이 텍스트 파일은 매일 업데이트됩니다. id, ip, date
특정 조건에서 텍스트 파일의 IP를 데이터베이스 테이블에 INSERT
저장하고 싶습니다 .UPDATE
DATE
텍스트 파일에서 중복된 IP가 발견되면 해당CURRENT_TIMESTAMP
특정 레코드 에 대한 업데이트 열이 업데이트됩니다 .- 새 IP가 발견되면 해당 레코드가 테이블에 삽입됩니다.
Demo.txt 파일은 다음과 같습니다.
1.1.1.1
2.2.2.2
3.3.3.3
1.1.1.1
나는 이것을 시도했습니다 :
CREATE TABLE `demo` (
`id` int(25) NOT NULL AUTO_INCREMENT,
`ip` varchar(25) NOT NULL,
`date` timestamp(6) NOT NULL DEFAULT current_timestamp(6) ON UPDATE current_timestamp(6),
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
쿵쿵 스크립트:
#!/bin/bash
inputfile="demo.txt"
cat $inputfile | while read ip ; do
echo "INSERT INTO demo (ip) VALUES ('$ip');"
done | mysql -u root -proot demo;
위 스크립트는 IP를 테이블에 삽입하지만 테이블을 업데이트하지는 않습니다. 새로운 기록이 발견된 경우에만 업데이트됩니다.
mysql 버전 15.1 Linux용 Distrib 10.3.22-MariaDB(x86_64), readline 5.1 사용