将数据插入 MySQL 时如何在单词末尾添加空格? [复制]

Posted

技术标签:

【中文标题】将数据插入 MySQL 时如何在单词末尾添加空格? [复制]【英文标题】:How to Add White Space at the end of word while Inserting Data into MySQL? [duplicate] 【发布时间】:2020-04-17 15:05:04 【问题描述】:
create table Test(aa varchar(20),bb varchar(20),cc varchar(20),primary key (aa,bb));

 insert into Test values('abc','ab','a');

 insert into Test values('abc  ','ab','a');

 insert into Test values('abc','ab  ','a');

 insert into Test Values('abc  ','ab  ','a');

在这里,如果我正在执行此语句,我会在第三行出现错误

错误代码:1062。重复条目 'abc -ab' 键 'PRIMARY' 0.250 秒。

但我想在单词末尾插入空格。如何在 mysql 中执行此操作。

有关更多信息,请单击此处 dbfiddle.uk: https://dbfiddle.uk/?rdbms=mysql_5.7&fiddle=43da399bc1254611553172544abae8f8

【问题讨论】:

【参考方案1】:

这是a documented behavior:

如果 TEXT 列被索引,则索引条目比较在末尾用空格填充。这意味着,如果索引需要唯一值,则仅在尾随空格数不同的值将发生重复键错误。例如,如果表包含“a”,则尝试存储“a”会导致重复键错误。

所以你不能这样做。考虑使用空格以外的其他东西来消除您的价值观的歧义。

【讨论】:

以上是关于将数据插入 MySQL 时如何在单词末尾添加空格? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

连接JavaScript句子时如何添加空格[重复]

将带有空格的纯文本从 EditText 发送到 mysql 数据库?

<br> 在下一个 foreach 项目中插入空格

给定一个单词,通过在它们之间添加空格来形成一个有意义的单词

如何在每一行的末尾添加每个单词?单词和行在不同的txt文件中

sed 在匹配行前后添加内容