MYSQL全角半角的主键冲突问题.

本文介绍了一种在数据库字段中使用UTF-8字符集和utf8_bin校对方式的方法,该方法能够区分全角和半角字符,确保数据的一致性和准确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

`Testb` varchar(255) character set utf8 collate utf8_bin NOT NULL,
`Testa` varchar(255) character set utf8 collate utf8_bin NOT NULL,

加这个关键字可以分别全角半角.

if (project.getId() > 0) sql.VALUES(“id”, “#{id}”); sql.VALUES(“name”, “#{name}”); sql.VALUES(“projectId”, “#{project_id}”); sql.VALUES(“month”, “#{month}”); sql.VALUES(“data_string”, “#{dataString}”); sql.VALUES(“month_actual_footage”, “#{monthActualFootage}”); sql.VALUES(“monthly_footage_completion_rate”, “#{monthlyFootageCompletionRate}”); sql.VALUES(“avg_exception_time_rate”, “#{avgExceptionTimeRate}”); sql.VALUES(“avg_work_time_rate”, “#{avgWorkTimeRate}”); StringBuilder builder = new StringBuilder(sql.toString()); builder.append(" ON DUPLICATE KEY UPDATE"); builder.append(" name = #{name},“); builder.append(” month = #{month},“); builder.append(” data_string = #{dataString},“); builder.append(” month_actual_footage = #{monthActualFootage},“); builder.append(” monthly_footage_completion_rate = #{monthlyFootageCompletionRate},“); builder.append(” avg_exception_time_rate = #{avgExceptionTimeRate},“); builder.append(” avg_work_time_rate = #{avgWorkTimeRate}"); return builder.toString();这个是我的查询CREATE TABLE bi_footage_info ( id int NOT NULL AUTO_INCREMENT COMMENT ‘工程id’, name varchar(255) NOT NULL COMMENT ‘名称’, month varchar(10) NOT NULL COMMENT ‘月份’, data_string int DEFAULT NULL COMMENT ‘月份(数字格式)’, month_actual_footage decimal(10,2) DEFAULT NULL COMMENT ‘月实际进尺’, monthly_footage_completion_rate decimal(10,2) DEFAULT NULL COMMENT ‘月完成率对比’, avg_exception_time_rate decimal(10,2) DEFAULT NULL COMMENT ‘平均异常耗时对比’, avg_work_time_rate decimal(10,2) DEFAULT NULL COMMENT ‘平均循环时间对比’, project_id int DEFAULT NULL, PRIMARY KEY (id) ) ENGINE=InnoDB AUTO_INCREMENT=318 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT=‘月度进尺信息表’我现在的数据库是空的不存在主键冲突,为什么我的sql没有执行成功
03-16
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值