2011-01-30 3 views

답변

1

또 다른 대안

  1. 사용 mysqldump는 단지
  2. 사용 추가 드롭 테이블 테이블 스키마를 덤프
  3. 덤프 파일을 한 후에는
  4. 모든 테이블이 드롭되고

Y하면 다시 만들 실행 OU는
다음

for table in $(mysql -N <<<"show tables from your_db") 
do 
    mysql -N <<< "truncated $table" 
done 
처럼, 덤프 파일을 변경하면 리눅스를 사용하는 경우가


이이 bash는 스크립트에 의해 수행 할 수 있습니다 재설정 할 수 있도록하여 자동 증가를 재설정 할

1

한 가지 방법은 모든 SQL 문을 생성하는 스크립트를 만드는 것입니다.

echo "select concat('truncate ', table_name, ';') as '' from \ 
    information_schema.tables where table_schema='YOURDATABASE';"\ 
    |mysql -u USER -p > /tmp/truncate-all-tables.sql 
0

이 작업을 수행하는 가장 간단한 방법은 DELETE를 발행하거나 .SQL 배치 파일이나 스크립트 언어를 통해 두 테이블 단위로 명령을 TRUNCATE하는 것입니다 : 여기에 리눅스를위한 버전입니다. (테이블 스키마 정보를 조사하여 사용할 수는 있지만 필요한 액세스 권한이 있는지 여부와 해당 테이블이 SELECT 가능한 명명 규칙을 따르는 지에 따라 적합하지 않을 수 있습니다.

덧붙여 말하면, DELETE를 사용하면 사용 된 디스크 공간을 회수하지 않으며 auto_increment 필드는 이전 ID를 기억합니다. (당신이 다시 디스크 공간을 얻을 1로 ID를 재설정 할 "TRUNCATE <table name>;"를 사용합니다.)

관련 문제