我有兩個MySQL表A
和B
。表A
有一個成員ref
這是對B.id
的外鍵引用。這使B
和A
之間的1:多關聯成爲可能。顛倒兩個表之間的1:多關係
這已經生產了幾個星期,但我現在增加了更多的功能到我的代碼,並意識到我得到了我原來的映射錯誤。我需要B
和A
之間的許多:1關係。也就是說,B.ref
應該指向A.id
,而不是相反。到目前爲止這不是一個問題,因爲迄今爲止所有的映射都是1:1。我如何將數據遷移到新的模式?
我猜:
ALTER TABLE B ADD COLUMN ref INTEGER CONSTRAINT FOREIGN KEY (A.id)
- 添加列第一- 運行SQL等價的 「
for row in A: row.ref.ref = row
」 ALTER TABLE A DROP COLUMN ref
試圖做到這一點在SQLAlchemy的失敗帶有循環引用錯誤。我需要在SQL中完成,但不熟悉必要的SELECT + UPDATE語法。幫幫我?
這工作出色!謝謝! – 2010-11-16 10:05:34