1、修改表,增加创建时间和修改时间并且修改时间自动在数据变更时更新 (timestamp:到2038年就不能用了。可以使用DateTime)
ALTER TABLE xxxx ADD COLUMN `created_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间';
ALTER TABLE xxxx ADD COLUMN `updated_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间' AFTER xxx;
2、分组并取某个字段最大的数据,还可以通过表连接的方式,但通过这种子查询排序分组的方式性能更好。
取生效日期最新的数据
SELECT * FROM ((SELECT * FROM table WHERE xxx=xxx ORDER BY effective_date DESC Limit 1000) AS a) GROUP BY a.code
注意:LIMIT 10000 这个必须加,否则可能不同MYSQL版本执行结果不同(Mysql优化子查询分组sql)
3、修改字符集
修改整个表
alter table <table> convert to character set utf8mb4 collate utf8mb4_unicode_ci;
修改表中某个字段
alter table <table> modify <column> varchar(10) character set utf8mb4 collate utf8mb4_unicode_ci;