需將圖片 URL 字段 cover 追加尺寸後綴 |1200*675:
UPDATE tag_group SET cover = cover + '|1200*675' WHERE id = 1;
報錯:
Data truncation: Truncated incorrect DOUBLE value: 'https://qximg.lightplan.cc/...jpeg'
+ 僅為數值加法運算符,不支援字符串拼接CONCAT() 才是標準字符串拼接函數UPDATE tag_group SET cover = CONCAT(cover, '|1200*675') WHERE id = 1;
| 場景 | 寫法 | 說明 |
|---|---|---|
| 多字段拼接 | CONCAT(first_name, ' ', last_name) | 任意參數,任一為 NULL 結果為 NULL |
| 忽略 NULL | CONCAT_WS('|', col1, col2, col3) | 第一參為分隔符,自動跳過 NULL |
| 拼接查詢結果 | SELECT CONCAT(id, ':', name) FROM users | 常用於生成顯示標識 |
| GROUP_CONCAT 聚合拼接 | SELECT GROUP_CONCAT(name SEPARATOR ',') FROM users GROUP BY dept | 分組內行級拼接,長度受 group_concat_max_len 限制 |
|| 默認為邏輯 OR(同 OR),不是拼接。需開啟 sql_mode=PIPES_AS_CONCAT 才作拼接用,不建議依賴CONCAT('a', NULL, 'c') → NULL,業務字段可能為 NULL 時用 COALESCE(col, '') 或 CONCAT_WSSELECT '1' + '2' → 3(數值相加),SELECT '1' || '2' → 1(邏輯真),唯有 CONCAT('1','2') → '12'MySQL 字符串拼接唯一標準函數是 CONCAT()/CONCAT_WS()。+ 僅做數學加法,|| 默認做邏輯或。遇到「Truncated incorrect DOUBLE value」警告,立即檢查是否誤用 + 拼接字符串。養成寫 CONCAT 肌肉記憶,杜絕此類低級錯誤。