這種類型的問題已發佈幾次,但提供的解決方案在以下情況下並不理想。在第一個查詢中,我選擇了在執行第一個查詢時存在的表名。然後在遍歷它們的同時,我想查詢選定表格中的記錄數量,但前提是它們仍然存在。問題是,在循環過程中,一些表被另一個腳本丟棄。例如:mysql非本機,僅當表存在時才選擇
SELECT tablename FROM table
-- returns say 100 tables
while (%tables){
SELECT COUNT(*) FROM $table
-- by the time it gets to the umpteenth table, it's been dropped
-- so the SELECT COUNT(*) fails
}
而且,我猜是因爲它是由cron運行,它fataly失敗,我得到從cron說明它失敗發送了一封電子郵件。
DBD :: mysql的:: ST執行失敗:表 'XXX' 根本不 /usr/local/lib/perl/5.10.1/Mysql.pm行存在175
腳本正在使用已棄用的Mysql.pm perl模塊。
異常處理??? – Khaleel
新用戶提示:如果您發現它有用,您可以upvote /接受一些答案。你應該包括你的問題涉及的mysql引擎版本。 –
你嘗試使用交易嗎? –