2013-08-06 38 views
0

這是直截了當的想法得到,但自然也無法正常工作......MySQL總行大小或SELECT LENGTH(*)FROM WHERE id ='1'的等價值;

SELECT LENGTH(*) FROM table WHERE id='1'; 

有沒有辦法來動態有MySQL的返回行的所有組合列的長度,而無需手動指定每一列像這樣?

SELECT LENGTH(column1), LENGTH(column2) FROM table WHERE id='1'; 
+0

由於'LENGTH'用於測量字符串,而不是所有的列都是字符串,所以它沒有什麼意義。把'id',也許是一個整數,與字符串''1''比較,沒有多大意義。即使存在「LENGTH(*)」,爲什麼你想知道它?例如,這並沒有告訴你有關該行正在使用多少存儲空間的任何信息。 –

+0

它告訴我有關郵件正在使用的空間量,例如,當我需要定期手動備份數據庫時,這非常重要。 – John

回答

1

如果您需要了解它以計算行大小,請查看information_schema表中的AVG_ROW_LENGTH。參考:http://dev.mysql.com/doc/refman/5.6/en/tables-table.html

+0

我不想要多行的平均長度,我需要給定行的總長度(不管文本/二進制文件)。快速搜索我找不到任何關於'AVG_ROW_LENGTH'的東西,這可以讓我做到這一點。 – John

相關問題