建议:在完成基本测试后,应遵照需求文档对系统所有的功能进行测试
目录
1、数据迁移
2、SQL更改
系统当前时间
描述:在插入、修改等操作时,需要为update_time字段赋值当前时间
Oracle:SYSDATE
MySQL:now()
字符串转换成日期
描述:将代码中的日期字符串,转换成Date类型
Oracle:TO_DATE('9999/12/31','YYYY / MM / DD')
MySQL:STR_TO_DATE('9999/12/31','%Y /%M/ %D')
更新操作
描述:报错You can't specify target table for update in FROM clause。不能先select出同一表中的某些值,再update这个表(在同一语句中)。这个问题Oracle是不会出现,但MySQL会报错
最简单的解决办法:通过中间表查询一次。
update user set state=4 where id in (
select u.id from user u
)
--修改为
update user set state=4 where id in (
select id from (
select u.id from user u
) temp
)
本文探讨了在数据迁移和SQL更改过程中遇到的问题,如如何为update_time字段赋予系统当前时间(Oracle的SYSDATE与MySQL的now()),日期字符串到Date类型的转换,以及解决MySQL中特定更新操作的限制。通过使用中间表来避免'You can't specify target table for update in FROM clause'的错误。这些技巧对于数据库管理和优化至关重要。
944





