1
$data = mysql_query("truncate 'DATABASE_NAME' ");
mysqlに特定のデータベースのテーブルのすべてのデータを切り捨てるクエリがありますか?
我々は、mysqlのクエリまたはTRUNCATE「テーブル名」のような単一のテーブルを持つデータベースのすべてのテーブルを切り捨てるために管理することができますか?
$data = mysql_query("truncate 'DATABASE_NAME' ");
mysqlに特定のデータベースのテーブルのすべてのデータを切り捨てるクエリがありますか?
我々は、mysqlのクエリまたはTRUNCATE「テーブル名」のような単一のテーブルを持つデータベースのすべてのテーブルを切り捨てるために管理することができますか?
データベース内のすべてのテーブルをループすることで、この問題を解決できます。テーブル名を取得するには、MySQLのINFORMATION_SCHEMAを使用します。溶液はこのようになります。簡潔にするため
//database connection information - adjust as needed
$dsn = 'mysql:dbname=testdb;host=127.0.0.1';
$user = 'dbuser';
$password = 'dbpass';
//connect to the DB using PDO
$dbh = new PDO($dsn, $user, $password);
//query all tables in a database
$stmt = $dbh->query("SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='your_database_name_here';");
//truncate tables one by one
while ($row = $stmt->fetch(PDO::FETCH_ASSOC))
{
$dbh->query('TRUNCATE TABLE '.$row['TABLE_NAME']);
}
unset($stmt, $dbh);
(データベースへの接続が確立できない、例えばキャッチ例外)処理エラーが省略されています。
PHP 5.5では廃止され、PHP 7では完全に削除されているため、古いMySQL APIは使用しないでください。代わりにmysqliまたはPDOを使用する必要があります。詳しい情報を得るには、"Choosing an API"のphp.netページをご覧ください。
テーブルをループして1つずつ切り捨てる必要があります。 –
あなたはループ内のすべてのテーブル名を言及する必要があります--- Gordon Linoff – Chinna
。 。または、システムテーブル/ビューなど、それらを取得する他の方法を見つけることができます。 –