我在Windows 7 PC上使用XAMPP Server和Mysql QueryBrowser作爲管理員工作。數據庫僅存儲,沒有人寫入或從中讀取,除了我。MySQL:SELECT ... GROUP BY導致「表是隻讀」錯誤
這些語句按預期工作:
Select Col1, Col2, Col3 from Table1
Select Col1, Col2, Col3 from Table1 Group by Col1
每個下面的語句
Select Col1, Col2, Col3 from Table1 Group by Col2
Select Col1, Col2, Col3 from Table1 Group by Col3
Select Col1, Col2, Col3 from Table1 Group by Col1,Col2,Col3
給出了下面的輸出
#1036 - Table 'Table1' is read only
有col1和col2上,但不是索引在Col3上。怎麼可能?
編輯:我發現它與GROUP BY無關。從這些簡單的查詢中可以看出,它更奇怪:
SELECT count(*) FROM Table1 where Col2 > 3000;
EXPLAIN SELECT count(*) FROM Table1 where Col2 > 3000;
+----+-------------+----------------+-------+-----------------+--------+----- +------+----------+--------------------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+----------------+-------+-----------------+--------+---------+------+----------+--------------------------+
| 1 | SIMPLE | Table1 | range | Col2,Col7 | Col2 | 4 | NULL | 22315581 | Using where; Using index |
+----+-------------+----------------+-------+-----------------+--------+---------+------+----------+--------------------------+
工作正常。然而,
SELECT count(*) FROM Table1 where Col4 > '2009-01-01';
EXPLAIN SELECT count(*) FROM Table1 where Col4 > '2009-01-01';
+----+-------------+----------------+------+---------------+------+---------+------+-----------+-------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+----------------+------+---------------+------+---------+------+-----------+-------------+
| 1 | SIMPLE | Table1 | ALL | NULL | NULL | NULL | NULL | 237089257 | Using where |
+----+-------------+----------------+------+---------------+------+---------+------+-----------+-------------+
給出了錯誤
ERROR 1036 (HY000): Table 'Table1' is read only
我感謝@邁克爾 - sqlbot的輸入,也加入EXPLAIN ...
輸出。但是,那裏列怎麼會導致文件系統權限的潛在問題,而另一列又不會呢?我檢查了XAMPP目錄中的mysql_error文件,但是我沒有發現任何幫助我的東西。
'集團by'通常是合併數據時,你不這樣做,在這裏。也許你的意思是'ORDER BY'而不是'group by'? – xQbert
不,我的意思是「group by」,並且需要「group by」 –
除非您正在彙總Col2和Col3,否則該查詢的輸出會給您帶來不可靠的結果。這個鏈接是否回答你的問題? HTTP://計算器。com/questions/9575914/table-is-read-only – doublesidedstickytape