所以我试图在保持兼容性的同时将旧表迁移到新表,所以我的第一个猜测就是在插入旧日期时将所有内容映射到example_A到example_B。
无论如何,我的问题是我还应该做些什么来保持向后兼容性,例如使用关系?
谢谢!
CREATE TABLE example_A
(
id INT
price NUMERIC
primary key (id)
)
CREATE TABLE example_B
(
id INT
price NUMERIC
date DATE
primary key (id, date)
)
答案 0 :(得分:0)
大多数查询应兼容,他们只是忽略新列。以下是一些潜在的问题:
SELECT *
的查询。如果查询涉及带有JOIN
列的另一个表的date
,则结果中的date
列将不明确它是引用此表还是其他表。< / LI>
date
列的表加入,并且在没有表前缀的情况下引用该列,则由于含糊不清的引用,它将成为语法错误。INSERT
不列出特定列的语句将会中断,因为值的数量将不再与列数相匹配。您还应该为新列指定默认值,以便不填写的INSERT
个查询将有效。