|
|
|
Изменить данный в таблице по шаблону.
|
|||
|---|---|---|---|
|
#18+
Есть база mysql. В ней таблица, в таблице есть столбец(или как там его правильно)username , в этом столбце есть логины, вида test@test.ru. Можно ли при помощи скрипта изменить значение test@test.ru в test. т.е срезать по шаблону @* ? или как ни будь автоматизировать данный процесс? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2016, 16:51 |
|
||
|
Изменить данный в таблице по шаблону.
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2016, 17:23 |
|
||
|
Изменить данный в таблице по шаблону.
|
|||
|---|---|---|---|
|
#18+
Akina, Выдало такую ошибку mysql> SUBSTRING_INDEX(username,'@',1); ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SUBSTRING_INDEX(username,'@',1)' at line 1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2016, 17:38 |
|
||
|
Изменить данный в таблице по шаблону.
|
|||
|---|---|---|---|
|
#18+
bulatka, Надо так Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2016, 17:51 |
|
||
|
Изменить данный в таблице по шаблону.
|
|||
|---|---|---|---|
|
#18+
MikkiMouse, улыбнуло. Попробовал так SELECT SUBSTRING_INDEX(username,'@',1) FROM users WHERE username LIKE '%@%'; Он мне вернул значения в том виде в котором нужно. Но как мне этот результат записать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2016, 20:32 |
|
||
|
Изменить данный в таблице по шаблону.
|
|||
|---|---|---|---|
|
#18+
Нашел функцию update =)) написал такой запрос update users set username = (SELECT SUBSTRING_INDEX(username,'@',1) FROM users WHERE username LIKE '%@%'); я так понимаю запрос не правильный. как синтаксис должен быть у запроса? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2016, 20:59 |
|
||
|
Изменить данный в таблице по шаблону.
|
|||
|---|---|---|---|
|
#18+
Вот такой запрос делает то что мне нужно: UPDATE users SET username = SUBSTRING_INDEX(username,'@',1) WHERE username LIKE '%@%'; Всем спасибо что помогли разобраться с проблемой, далеком от баз данных человеку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2016, 21:51 |
|
||
|
Изменить данный в таблице по шаблону.
|
|||
|---|---|---|---|
|
#18+
А можно как ни будь автоматизировать данный процесс? условно как только появилось такое значение. сработал "триггрер", и перезаписал данные? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2016, 08:12 |
|
||
|
Изменить данный в таблице по шаблону.
|
|||
|---|---|---|---|
|
#18+
bulatkaусловно как только появилось такое значение. сработал "триггрер"зачем "условно" и почему "триггер" в кавычках? гуглите mysql trigger before insert ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2016, 08:25 |
|
||
|
Изменить данный в таблице по шаблону.
|
|||
|---|---|---|---|
|
#18+
bulatka, а поправить клиент который пишет эти данные нельзя ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2016, 08:38 |
|
||
|
Изменить данный в таблице по шаблону.
|
|||
|---|---|---|---|
|
#18+
tanglir, спасибо, сделал так CREATE TRIGGER `test` BEFORE INSERT ON `user` FOR EACH ROW BEGIN SET NEW.username = (UPDATE users SET username = SUBSTRING_INDEX(username,'@',1) WHERE username LIKE '%@%'); END ругаеться на синтаксис. не могу понять что не так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2016, 09:07 |
|
||
|
Изменить данный в таблице по шаблону.
|
|||
|---|---|---|---|
|
#18+
bulatka Код: sql 1. Тут использование Like не оправдано. Разумнее Код: sql 1. А если это одноразовая операция, и в отбор для обработки попадает более четверти записей, то WHERE можно вообще опустить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2016, 09:10 |
|
||
|
Изменить данный в таблице по шаблону.
|
|||
|---|---|---|---|
|
#18+
bulatkaругаеться на синтаксис. не могу понять что не так? Небось DELIMITER забыл... bulatkaсделал так Неправильно. Должно быть Код: sql 1. 2. 3. Ктстаи, в таком варианте DELIMITER менять не требуется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2016, 09:14 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=39194048&tid=1832052]: |
0ms |
get settings: |
6ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
178ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 200ms |
| total: | 464ms |

| 0 / 0 |
