MySQL 唯一欄位:如何處理尾隨空格?

Patricia Arquette
發布: 2024-10-30 02:40:03
原創
466 人瀏覽過

  MySQL Unique Fields: How to Handle Trailing Spaces?

具有唯一欄位的MySQL 資料庫:忽略結尾空格

使用MySQL 資料庫時,您可能會遇到唯一欄位忽略結尾空格空格的問題。當您需要在單字的左側或右側儲存不同間距的輸入時,可能會發生這種情況,但資料庫會自動修剪尾隨空格。

此問題源自於 MySQL 對字串的預設處理,它在處理過程中會忽略尾隨空格。比較。要理解此行為,請考慮以下內容:

<br>VARCHAR my_field UNIQUE NOT NULL;<br>
登入後複製

如果插入'apple' 和' apple' (帶有尾隨空格)插入此字段,唯一檢查將失敗,因為MySQL 將兩個值視為相同。

可能的解決方案:

  1. 將值儲存為VARBINARY:
    將輸入轉換為VARBINARY 以保留確切的位元組模式,包括尾隨空格。

<br>ALTER TABLE my_table MODIFY my_field VARBINARY (255) UNIQUE;<br><ol start="2"><li>
<strong></strong><br>
</li></ol><p>使用規則。 MySQL 8.0 ):<br><br>MySQL 8.0 及更高版本支援使用NO PAD 的排序規則屬性,在字串比較中保留尾隨空格。 <br><br></p><pre class="brush:php;toolbar:false"><ol start="3">CREATE TABLE my_table (<li> my_field VARCHAR(255) UNIQUE COLLATE utf8mb4_0900_ai_ci<strong>);</strong>);<br>
</li>自訂排序規則(不建議):</ol><p>您可以使用NO PAD 屬性建立自訂排序規則,但不建議這樣做,因為它可能會引入相容性問題。 <strong></strong></p><p>結論:</p>透過了解MySQL 的預設行為並實施適當的解決方案,您可以確保您的唯一欄位將尾隨空格處理為想要的。 
登入後複製

以上是MySQL 唯一欄位:如何處理尾隨空格?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板