2014-10-16 50 views
0

是否有可能遍歷表和刪除基於條件 我能得到這樣的所有錶行:的MySQL通過表動態循環和刪除行根據病情

SELECT table_name FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = 'mytables' 

是否有可能通過循環所有這些並進行查詢與此類似:

DELETE FROM table where NOW() > ColumnName 

回答

0

循環遍歷語句選擇表,併爲每個表名執行:

BEGIN 
    SET @s = CONCAT('DELETE FROM',table_name,' WHERE NOW() > ColumnName'); 
    PREPARE stmt FROM @s; 
    EXECUTE stmt; 
    DEALLOCATE PREPARE stmt; 
END 
+0

我得到這個錯誤:#1064 - 你的SQL語法有錯誤;在BEGIN SET @s = CONCAT('DELETE FROM',table_name,'WHERE NOW()> ColumnName')'在第3行檢查與您的MySQL服務器版本相對應的手冊 – user3057678 2014-10-20 08:18:28