我有一個要求我保持一堆表不同的名字,如我可以使用MySQL變量來命名錶嗎?
2012_10_15_ncvoter68
2012_11_15_ncvoter68
2012_12_15_ncvoter68
你的想法的工作流。
假設我剛創建了表2012_12_15_ncvoter68
。
我想查詢此表使用變量。例如,我可以定義一個變量:
SET @dt_ncv = CONCAT((SELECT DATE_FORMAT(CURDATE(), '%Y_%m_%d')),"_ncvoter68");
變量@dt_ncv
計算得到字符串2012_12_15_ncvoter68
。
但我不明白如何(或如果有可能)使用此變量引用表。
查詢:
SELECT count(*) FROM @dt_ncv;
簡單地給一個SQL語法錯誤。
我試着玩準備好的陳述,但似乎沒有幫助。
我希望你們中的一些MySQL大師能夠提供幫助!
爲每個月設置一個不同的表格就是糟糕的設計 - 爲什麼不只有一個帶有日期列的表格? –
semi dupe,same solution http://stackoverflow.com/questions/8363415/why-cant-i-use-a-variable-as-the-table-name-in-a-stored-procedure/8363487#8363487 – goat