Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Цитата evpu:
Стоит задача делать UPDATE допустим 4-го символа этой строки, не затрагивая соседних, причем хоть 1 строки хоть всех - по условию WHERE. »
Никак. Обновлять можно только поле целиком. Поэтому нужно взять это поле, выделить из него три начальных символа и оставшиеся, начиная с пятого. Полученное объединить в новую строку.

Пример:
Скрытый текст
Код: Выделить весь код
mysql> select * from MyTable;
+------+--------------+
| ID   | Matrix       |
+------+--------------+
|    1 | aaaaaa       |
|    2 | bbbbbb       |
|    3 | cccccc       |
|    4 | 100011001000 |
|    5 | dddddd       |
+------+--------------+
5 rows in set (0.00 sec)

mysql> update MyTable set Matrix=concat(left(Matrix, 3), '9', substring(Matrix, 5));
Query OK, 5 rows affected (0.04 sec)
Rows matched: 5  Changed: 5  Warnings: 0

mysql> select * from MyTable;
+------+--------------+
| ID   | Matrix       |
+------+--------------+
|    1 | aaa9aa       |
|    2 | bbb9bb       |
|    3 | ccc9cc       |
|    4 | 100911001000 |
|    5 | ddd9dd       |
+------+--------------+
5 rows in set (0.00 sec)

mysql>
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:40, 09-06-2016 | #2