具有唯一欄位的MySQL 資料庫:忽略結尾空格
使用MySQL 資料庫時,您可能會遇到唯一欄位忽略結尾空格空格的問題。當您需要在單字的左側或右側儲存不同間距的輸入時,可能會發生這種情況,但資料庫會自動修剪尾隨空格。
此問題源自於 MySQL 對字串的預設處理,它在處理過程中會忽略尾隨空格。比較。要理解此行為,請考慮以下內容:
<br>VARCHAR my_field UNIQUE NOT NULL;<br>
如果插入'apple' 和' apple' (帶有尾隨空格)插入此字段,唯一檢查將失敗,因為MySQL 將兩個值視為相同。
可能的解決方案:
<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中文網其他相關文章!