MySQLは例外をスローせずにテーブルが存在するかどうかを確認します 質問する

MySQLは例外をスローせずにテーブルが存在するかどうかを確認します 質問する

例外をスローせずに MySQL にテーブルが存在するかどうかを確認する最適な方法は何ですか (PHP の PDO 経由が望ましい)。「SHOW TABLES LIKE」などの結果を解析する気はありません。何らかのブール クエリが必要ですか?

ベストアンサー1

準備されたステートメントを使用して information_schema データベースをクエリすることが、最も信頼性が高く安全なソリューションのように見えます。

$sql = "SELECT 1 FROM information_schema.tables 
        WHERE table_schema = database() AND table_name = ?";
$stmt =  $pdo->prepare($sql);
$stmt->execute([$tableName]);
$exists = (bool)$stmt->fetchColumn();

おすすめ記事