DBの件数はCOUNT()関数を使用しないとズレる

新しいサーバに引っ越ししようと思い、phpMyAdminからDBをエクスポートし(簡易設定)、新たな環境にインポートしたところレコードの行数がなぜか合わなかった。いくつか環境を作成して比較した。

環境 件数
オリジナルデータ(MySQL) 129607
オリジナルと同じ環境に新規DBを作成しインポート(MySQL) 133317
MAMP.appを使用してlocalhostでインポート(MySQL) 129607
引っ越し先のサーバでインポート(MariaDB) 133317
mysql

いずれもphpMyAdminから操作した。バージョンはすべて微妙に異なるが、念の為ここには書かない。件数はサーバ > データベース > テーブル > 表示から確認した(上図)。

オリジナルデータと同じ環境のDBでも件数が変わるのがよくわからない。。日本語だとズバリな記事がヒットしなかったので、英語で調べて以下の記事を見つけた。

Same MySQL database import showing different numbers of records

この中の回答にあった「MySQL is, surprisingly, really bad at numbers. (驚くべきことに、MySQL は数字が苦手です。)」という一文。そーなん?🤔と思いつつCOUNT()関数をphpMyAdminのSQLから打ってみた。

SELECT COUNT(*) FROM <テーブル名>

そうするとすべての環境で件数は133317がカウントされた。どうやらSQLはCOUNT()関数を使用しないといけないみたい。

Comment

コメントを残す

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)