Luaのテーブルはオブジェクト。
そのため、テーブルのコピーは結果として、参照先がコピーされる。
なので、下記のような現象が起きる。へー。っていう感じ。

local TableTestA ={}
local TableTestB ={}
TableTestA["a"]=10
print("TableTestA[a]:"..TableTestA["a"])  → TableTestA[a]:10 と表示される。
TableTestB=TableTestA            ← テーブルをコピー(参照先がコピーされる)
print("TableTestB[a]:"..TableTestB["a"])  → TableTestB[a]:10 と表示される。
TableTestB["a"]=20               ← Bの方で値を20に変更作業をする。
print("TableTestA[a]:"..TableTestA["a"])  → TableTestA[a]:20 と表示される。←これも変更される。
print("TableTestB[a]:"..TableTestB["a"])  → TableTestB[a]:20 と表示される。←これは当たり前
TableTestA = nil
print("TableTestB[a]:"..TableTestB["a"])  → TableTestB[a]:20 と表示される。