我们有一个带有日期字段的表。还有一些我们无法修改的旧应用程序,这些应用程序的日期字段使用字符串(“ yyyy-mm-dd”)插入(是的,SQLInjectiónParty!)。现在需要将该字段更改为Datetime年至第二年。这会使旧的应用程序失败。
create table test(
testDate DATETIME YEAR TO SECOND
);
insert into test values("2018-12-12")
Error: A field in a datetime or interval value is incorrect or an illegal operation specified on datetime field.
如果字符串的长度为10,我们试图触发一个将“ 00:00:00”连接到字符串的触发器。这应该可以解决问题。
那是可能的吗? 在我看来,如果我使用插入前触发器,则无法修改插入值。但是,如果我改用每行,则不会启动触发器,因为会首先引发错误。
有什么想法吗?