Mysql не работает replace

Некорректная работа MySQL-запроса REPLACE

Чтобы отправить ответ, вы должны войти или зарегистрироваться

Сообщения 14

1 Тема от Vit 2006-08-02 19:09:23

  • Vit
  • Участник
  • Неактивен
  • Зарегистрирован: 2006-04-10
  • Сообщений: 41

Тема: Некорректная работа MySQL-запроса REPLACE

Мозги кипят и лезут из ушей. Сижу целый день, все пытался своим умом дойти — не вышло.
Вчера все грузилось нормально, а сегодня что-то случилось с phpMyAdmin. Привожу пример данных, которые я патаюсь загрузить:

REPLACE INTO `products` VALUES (1000, », », »,»EASYDOWNHILL», », », », », »,»EASYDOWNHILL.jpg»,14.95, », », », », »,1,1, », »,9, »,0, », », », », 0);
REPLACE INTO `products` VALUES (1001, », », »,»EASYDRUMS», », », », », »,»EASYDRUMS.jpg»,14.95, », », », », »,1,1, », »,9, »,0, », », », », 0);
REPLACE INTO `products` VALUES (1002, », », »,»EASYFISHING», », », », », »,»EASYFISHING.jpg»,14.95, », », », », »,1,1, », »,9, »,0, », », », », 0);
REPLACE INTO `products` VALUES (1003, », », »,»EASYGOLF», », », », », »,»EASYGOLF.jpg»,14.95, », », », », »,1,1, », »,9, »,0, », », », », 0);
REPLACE INTO `products` VALUES (1004, », », »,»EASYGUITARDLX», », », », », »,»EASYGUITARDLX.jpg»,14.95, », », », », »,1,1, », »,9, »,0, », », », », 0);
REPLACE INTO `products` VALUES (1005, », », »,»EASYINLINESKATE», », », », », »,»EASYINLINESKATE.jpg»,14.95, », », », », »,1,1, », »,9, »,0, », », », », 0);

В первой колонке ID товара, от 624 до 1726.
Получил сообщение, что все прошло успешно, но товара в магазине не увидел, а, заглянув в таблицу, увидел, что данные не заменились, а добавились, но с ID уже начиная от 1727 до 2829.
Тогда я удалил из таблицы все с 624 по 2829, и загрузил еще раз, заменив REPLACE на INSERT. Загрузка прошла успешно, но ID уже с 2830 по 4557, т.е. phpMyAdmin не смотрит, что я ему там пишу, а лепит свое.
Сейчас, заглянув в phpMyAdmin, увидел такую надпись:

Этот MySQL сервер работает 0 дней, 21 часов, 44 минут и 24 секунд. Он был запущен Авг 01 2006 г., 20:03.

Если я правильно понимаю MySQL сервер был переустановлен, или перезапущен, или что еще с ним можно сделать. Может в этом «собака зарыта»?

2 Ответ от Lokki 2006-08-03 00:08:24

  • Lokki
  • Админ
  • Неактивен
  • Откуда: Москва
  • Зарегистрирован: 2006-01-25
  • Сообщений: 910

Re: Некорректная работа MySQL-запроса REPLACE

Vit
Я предполагаю, что дело все в запросе, точнее — в его синтаксисе. Дело в том, что можно не указывать названия столбцов (что собственно у тебя и сделано), тогда данные будут вставляться в том порядке и очереди, в каком следуют в таблице.

Читайте также:  Не работает погружной вибрационный насос

Предполагаю, что в процессе твоих манипуляций с таблицами количество столбцов увеличилось, и следствием этого стало смещение вставки от ID, который перестал указываться явным образом и сработал механизм вставки (т.к. REPLACE — это аналог INSERT) и автоинкремент, именно поэтому данные не заменяются, а добавляются.

Источник

Mysql не работает replace

���� UPDATE world.city SET world.city.Name = REPLACE(world.city.Name, ‘A’, ‘-‘); ������� ���-�� ����

‘3857’, ‘-nchorage’, ‘USA’, ‘Alaska’, ‘260283’
‘1506’, ‘-ncona’, ‘ITA’, ‘Marche’, ‘98329’
‘2155’, ‘-nda’, ‘CHN’, ‘Heilongjiang’, ‘136446’
‘3506’, ‘-ndijon’, ‘UZB’, ‘Andijon’, ‘318600’
‘1433’, ‘-ndimeshk’, ‘IRN’, ‘Khuzestan’, ‘106923’
‘2369’, ‘-ndong’, ‘KOR’, ‘Kyongsangbuk’, ‘188443’

‘3857’, ‘Anchorage’, ‘USA’, ‘Alaska’, ‘260283’
‘1506’, ‘Ancona’, ‘ITA’, ‘Marche’, ‘98329’
‘2155’, ‘Anda’, ‘CHN’, ‘Heilongjiang’, ‘136446’
‘3506’, ‘Andijon’, ‘UZB’, ‘Andijon’, ‘318600’
‘1433’, ‘Andimeshk’, ‘IRN’, ‘Khuzestan’, ‘106923’
‘2369’, ‘Andong’, ‘KOR’, ‘Kyongsangbuk’, ‘188443’

UPDATE world.city SET world.city.Name = REPLACE(world.city.Name, ‘A%’, ‘-‘);

�� ����� ������ � �� �� ��������( 13 ��� 19, 00:27����[21830859] �������� | ���������� �������� ����������

Re: UPDATE REPLACE % [new]
miksoft
Member

������:
���������: 38903

��� ������� REPLACE ���� �������� ����� �� ���������� �� ������ ������� �������. ��������� � ������ ������� ��������� ‘A%’ ����� �� �����������, �� ��� � �� ����������.
13 ��� 19, 00:39����[21830865] �������� | ���������� �������� ����������
Re: UPDATE REPLACE % [new]
vasiliska_ska
Member

������:
���������: 10

miksoft, �������) �� ���� ����� ����������� ������� ��� REPLACE, ������ ����� �� ������������, ��� % ��� * ?
13 ��� 19, 00:43����[21830867] �������� | ���������� �������� ����������
Re: UPDATE REPLACE % [new]
miksoft
Member

������:
���������: 38903

vasiliska_ska
�� ���� ����� ����������� ������� ��� REPLACE

����� ���.
��. https://dev.mysql.com/doc/refman/5.7/en/string-functions.html#function_replace

���� ������ MySQL 8 � ����, �� ��. REGEXP_REPLACE

13 ��� 19, 00:50����[21830870] �������� | ���������� �������� ����������
Re: UPDATE REPLACE % [new]
vasiliska_ska
Member

������:
���������: 10

miksoft, ����� ��������, �, ������, ����������(

����� ������
SELECT world.city.Name FROM world.city WHERE world.city.Name REGEXP ‘^A. a$’
������ 15 ������ �����������,

� �����
SELECT world.city.Name FROM world.city WHERE world.city.Name REGEXP ‘^A*a$’
�� ������..

13 ��� 19, 01:28����[21830880] �������� | ���������� �������� ����������
Re: UPDATE REPLACE % [new]
vkle
Member

������: ������
���������: 15067

������ ������� — ������ ������, ����� «�», ��� ����� ������� (�����), ����� «�», ����� ������.
������ ������� — ������ ������, ����� «�» � ���������� �� ���� � ������ (������), ����� «�», ����� ������.
13 ��� 19, 01:41����[21830882] �������� | ���������� �������� ����������
Re: UPDATE REPLACE % [new]
vasiliska_ska
Member

������:
���������: 10

vkle, ���, ����� ������ �� ������� � �� ���� �����, � ��� ������������ ���-�� ��������?
13 ��� 19, 01:50����[21830884] �������� | ���������� �������� ����������
Re: UPDATE REPLACE % [new]
vkle
Member

������: ������
���������: 15067

vasiliska_ska,

����� �������, «������������ ���-�� ��������» — ��� ������, ���� ���� ������ � ������� «������������ ����������» � ����, ���� ���� �� �������� ���������� ������������ �����������. �����, ������� ������, �� �� ������ ����������. 🙂

13 ��� 19, 02:22����[21830888] �������� | ���������� �������� ����������
Re: UPDATE REPLACE % [new]
vasiliska_ska
Member

������:
���������: 10

vkle
����� �������, «������������ ���-�� ��������» — ��� ������, ���� ���� ������ � ������� «������������ ����������» � ����, ���� ���� �� �������� ���������� ������������ �����������. �����, ������� ������, �� �� ������ ����������. 🙂

��� �������, ������ ����������� ����������: ������������ ���������� ������������ ��������

13 ��� 19, 09:56����[21830996] �������� | ���������� �������� ����������
Re: UPDATE REPLACE % [new]
vasiliska_ska
Member

1, ‘svt-413-asdf’,
2, ‘svt-414-fdgffr’,
3, ‘svt-4124-ssxsx’,
4, ‘svt-11-fefw’,

����� ������� �������� ��������� ‘svt-&-‘ (���� ������������, ��� % — ������������ ���-�� ������������ ��������) �� ������ ������ »

13 ��� 19, 10:11����[21831008] �������� | ���������� �������� ����������
Re: UPDATE REPLACE % [new]
vkle
Member

������: ������
���������: 15067

vasiliska_ska
������������ ���-�� ������������ ��������

.* ��� .+ �� ��������.
����� — ����� ������. ������, ����� ����� � ������� �� ������������ match_type).

��� ������� � ����������� �� �������� ������ � �������� ����������� ����� ��� ����������� ��� ��� ��� ���

13 ��� 19, 10:37����[21831037] �������� | ���������� �������� ����������
Re: UPDATE REPLACE % [new]
MasterZiv
Member

������: �����
���������: 34707

vasiliska_ska
���� ������� �������)
�� ������ ��� � ��, �� ������ ������ � MySql, �������� �� ������� ������� ���������� � ����:

���� UPDATE world.city SET world.city.Name = REPLACE(world.city.Name, ‘A’, ‘-‘); ������� ���-�� ����

‘3857’, ‘-nchorage’, ‘USA’, ‘Alaska’, ‘260283’
‘1506’, ‘-ncona’, ‘ITA’, ‘Marche’, ‘98329’
‘2155’, ‘-nda’, ‘CHN’, ‘Heilongjiang’, ‘136446’
‘3506’, ‘-ndijon’, ‘UZB’, ‘Andijon’, ‘318600’
‘1433’, ‘-ndimeshk’, ‘IRN’, ‘Khuzestan’, ‘106923’
‘2369’, ‘-ndong’, ‘KOR’, ‘Kyongsangbuk’, ‘188443’

‘3857’, ‘Anchorage’, ‘USA’, ‘Alaska’, ‘260283’
‘1506’, ‘Ancona’, ‘ITA’, ‘Marche’, ‘98329’
‘2155’, ‘Anda’, ‘CHN’, ‘Heilongjiang’, ‘136446’
‘3506’, ‘Andijon’, ‘UZB’, ‘Andijon’, ‘318600’
‘1433’, ‘Andimeshk’, ‘IRN’, ‘Khuzestan’, ‘106923’
‘2369’, ‘Andong’, ‘KOR’, ‘Kyongsangbuk’, ‘188443’

UPDATE world.city SET world.city.Name = REPLACE(world.city.Name, ‘A%’, ‘-‘);

https://dev.mysql.com/doc/refman/8.0/en/regexp.html#function_regexp-replace

13 ��� 19, 10:46����[21831044] �������� | ���������� �������� ����������
Re: UPDATE REPLACE % [new]
Akina
Member

������: ����������, ������, ������
���������: 21451

vasiliska_ska
���� �� ����� :

1, ‘svt-413-asdf’,
2, ‘svt-414-fdgffr’,
3, ‘svt-4124-ssxsx’,
4, ‘svt-11-fefw’,

Источник

REPLACE new line character in MYSql not working

I executed following query and for some reason its not replacing new line character in database . It says Rows matched 1 but no change . What can be wrong ?

6 Answers 6

You can match a newline character using \n , not \\n .

If \n does not work as in my case, the following worked \r\n

In my case it has been a web application.

You think that it contains \n , but it has \r .

this is what happening

What I meant is that the where condition it’s working that’s why you have ‘rows matched: 1’ but your replace don’t find \\n to replace it, that’s why changed: 0 so check your table data.

the REPLACE function is case sensitive, i think it belongs MySql server version

description=REPLACE(description, ‘Videosite’, ‘video.5la.net’) is different result with description=REPLACE(description, ‘VideoSite’, ‘video.5la.net’)

Try something like that:

Not the answer you’re looking for? Browse other questions tagged mysql sql or ask your own question.

Linked

Hot Network Questions

Subscribe to RSS

To subscribe to this RSS feed, copy and paste this URL into your RSS reader.

site design / logo © 2021 Stack Exchange Inc; user contributions licensed under cc by-sa. rev 2021.10.18.40487

By clicking “Accept all cookies”, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy.

Источник

Форма PHP + REPLACE INTO mySQL не работает, но идентичный запрос на другой странице работает .. Есть что-то, что я пропускаю?

Как следует из названия, я пытался решить, где находится моя проблема, но я пришел с пустыми руками. Это не имеет никакого смысла для меня. Я использую рядом ИДЕНТИЧНЫ if(isset($_POST[‘submit’])) в другом месте моего сайта WordPress, но по какой-то причине этот вызывает у меня головную боль и постоянно выдает мне 404 ошибки, когда я нажимаю кнопку отправки.

Мое подключение к базе данных также не изменилось (я просто изменил их в своем коде ниже по соображениям безопасности).

Наконец — я знаю, что у меня нет никаких действий в form — это потому, что действие находится на странице php. Я настроил это на другой странице с меньшим количеством и это работает просто отлично.

У меня такое чувство, что я пропускаю что-то очень простое, но это поглощает меня последние пару дней!
Вот моя структура таблицы (от администратора);

И я установил Primary Key в address поскольку функция ЗАМЕНА требует установки первичного / уникального ключа.

Решение

Это действительно должен быть комментарий, а не ответ, но у меня пока недостаточно комментариев.

Я чувствую, что проблема, скорее всего, в вашем «действии» для формы. Поскольку это не в вашем коде, я не могу проверить это. Но именно действие определяет, какая страница публикуется при отправке. Поскольку вы получаете ошибку 404, это будет означать, что вы установили действие для страницы, которая не существует, или вы использовали неправильный путь. Если бы ошибка была в вашей функции, вы бы попали на нужную страницу, поэтому не 404, а затем вы получили бы ошибки sql или php или неожиданные результаты, но не 404.

Я создал очень простую тестовую страницу, используя ваши точные данные для отправки, и она работает так, как я ожидал:

Если вы хотите опубликовать утверждение «action», я могу выяснить, что с ним не так, но это может быть так же просто, как опечатка.

Другие решения

Ошибка 404 является HTTP код состояния, означающий, что страницу, которую вы пытались открыть на веб-сайте, не удалось найти на их сервере.

необходимо действие формы, поэтому его ошибка показа 404
Вы также можете попробовать

Источник

Оцените статью