私はサイズをチェックするデータベースを持っています。なぜなら、クライアントは特定の量のスペースしか使用できないだけでなく、データベースに配置した特定の数の「ページ」しか持っていない可能性があるからです。
私は次のSQLクエリを持っています:
SELECT table_schema "Servers",
sum( data_length + index_length ) / 1024 / 1024 "Data Base Size in MB",
sum( data_free )/ 1024 / 1024 "Free Space in MB"
FROM information_schema.TABLES
GROUP BY table_schema ;
これにより、必要な情報を含むテーブルが返されます。ただし、各ユーザーがどれだけ使用しているかを示す3つの列を追加したいと思います。最初に私はこのように試しました:
SELECT table_schema "Servers",
sum( data_length + index_length ) / 1024 / 1024 "Data Base Size in MB",
sum( data_free )/ 1024 / 1024 "Free Space in MB",
property_value "MaxWebhotelSize"
FROM information_schema.TABLES, properties
WHERE property_key LIKE 'MaxWEbhotelSize'
GROUP BY table_schema
UNION
SELECT property_value "MaxPages"
FROM properties
WHERE property_key LIKE 'MaxPages';
これには、必要な2つの列を追加する必要があります。unionからすべてを除外すると、正常に機能し、Webhotelの最大サイズに関する情報がテーブルに追加されますが、別の列を追加しようとすると、「使用されたSELECTステートメントの列数が異なります」というエラーが表示されます。私はそれを回避するいくつかの他の方法を試しましたが、正しい結果を得る良い方法を理解できないようです。私はSQLにまったく慣れていません。これがばかげた質問である場合は、申し訳ありません。