MySQL中列名为date时如何添加日期值?
MySQL表列名为date时添加日期值的方法
核心注意点
date是MySQL的保留关键字,所以在所有涉及该列的SQL语句中,必须用**反引号(`)**包裹列名,否则会触发语法错误。
情况一:保持现有VARCHAR(50)列类型
你的建表脚本里date列定义为VARCHAR(50),插入时只要传入符合你预期格式的字符串即可,示例如下:
INSERT INTO `order`(customer_id, agent_id, `date`) VALUES(1, 2, '2024-05-20'); -- 使用YYYY-MM-DD格式 -- 也可以用其他自定义格式,比如 INSERT INTO `order`(customer_id, agent_id, `date`) VALUES(3, 4, '2024/05/20');
⚠️ 注意:如果用字符串存储日期,务必保证格式统一,否则后续查询、排序会出现逻辑问题。
情况二:优化为标准日期类型(推荐)
用VARCHAR存储日期并非最佳实践,建议把date列修改为DATE或DATETIME类型,这样能利用MySQL的日期处理函数,还能避免格式错误。
修改表结构脚本:
ALTER TABLE `order` MODIFY COLUMN `date` DATE NOT NULL;
插入日期值的示例:
-- 插入指定日期 INSERT INTO `order`(customer_id, agent_id, `date`) VALUES(1, 2, '2024-05-20'); -- 插入当前系统日期 INSERT INTO `order`(customer_id, agent_id, `date`) VALUES(3, 4, CURDATE());
内容的提问来源于stack exchange,提问作者user19951458
相关产品推荐
相关产品推荐

