![]() |
Прошу помочь с объяснением запроса
может кто-нибудь объяснить, что этот запрос выполняет?
DELETE FROM `prof_configs` WHERE CONVERT(`prof_configs`.`name` USING utf8) = 'max_files' LIMIT 1" заранее спасибо p.s. prof_configs - имя таблицы, name - имя поля. это я знаю, а остальное вообще не могу догнать |
DELETE FROM `prof_configs` WHERE CONVERT(`prof_configs`.`name` USING utf8 ) = 'max_files' LIMIT 1"
Удалить всё с таблицы prof_configs где (поле name преобразованое с использованием utf8 ) равняется 'max_files' лимит строк 1. |
не совсем так
удалить максимум 1 запись из таблицы prof_configs где поле name в кодировке utf8 равно max_files |
Цитата:
|
большое спасибо всем за ответ!
так, теперь следующий вопрос, если вы не против: ситуация вот какая - есть сервер mysql, за бугром, консольного доступа нет. все изменения делаются через запросы на php. добавил запись в таблицу в кодировке win-1251, а когда запрашиваю select'ом, выводится "????????". созранял php с кодировкой utf8, почти то же самое, только каракули другие. show variables выводит следующее: character_set_client latin1 character_set_connection latin1 character_set_database utf8 character_set_filesystem binary character_set_results latin1 character_set_server utf8 character_set_system utf8 и что мне делать теперь? P. S. просьба не кидать камнями, новичок я ещё |
Я после подключения и выбора БД ставлю эти вот строчки. Проблем с отображением русского не было ниразу.
mysql_query("set character_set_client='cp1251';"); mysql_query("set character_set_results='cp1251';"); mysql_query("set collation_connection='cp1251_general_ci';"); |
ещё раз спасибо большое!
если что не так будет - i'll be back (c) :) |
так-с, ничего у меня не получилось. запрос выполнил, но ничего не изменилось (в смысле при show variables кодировки остались прежними).
есть ещё варианты какие? |
Дело в том, что по умолчания у мускула при установке кодировка устанавливается latin1 и таблицы потом создавать лучше в latin1_swedish_ci, если нет возможности переконфигурировать клиент. Создайте базу в кодировке latin1.
|
Цитата:
2 - Как вы просматриваете БД? (т.е. в какой кодировке генерируется страница. В какой кодировке таблица . В какой кодировке соединение.) Самый простой способ дать запрос "SET NAMES 'cp1251'" СРАЗУ после коннекта с БД. Обязательно чтобы такое соединение устанавливалось и при заливке данных и при чтении. |
а не подскажите где взять редактор для сохранения в latin1?
|
To Rustam Valiev
@mysql_connect($dbhost,$dbuser,$dbpass); @mysql_select_db($dbname); |
большое спасибо Rustam Valiev, с SET NAMES всё заработало
|
так, СТОП! когда при заполнении дал set names, я грохнул базу со всем содержимым:shok:. есть ли ещё какие-нибудь другие способы?
|
Цитата:
|
Djalolatdin Rakhimov, оказалось, что грохнул только одну таблицу :)
|
Цитата:
|
Цитата:
|
Цитата:
Оффтоп: drop database название_базы; |
Цитата:
|
Цитата:
Посмотрите свои запросы. Таблицу можно : - очистить запросом DELETE FROM `table` WHERE ..... (условия самые различные например 1 == 1 - удаляет всю таблицу) - очистить запросом TRANCATE `table` - сбрасывается даже значение автоинкремента. - удалить запросом DROP TABLE `table` - удаляется собственно сама таблица без возможности восстановления. SET NAMES - здесь не при чем. |
Цитата:
|
Цитата:
И потом синтаксис вызова хранимой процедуры отличается. :-) |
Цитата:
|
Цитата:
|
Цитата:
Извиняюсь, но я в свою очередь испугался, что многие клиенты хостинга услышав от меня в очередной раз - "юзайте set names", начнут, мне, глупому, объяснять, что кто его знает насколько сиё опасно и посылать за разъяснением на этот форум :) |
всё, уже разобрался. хватит прикалываться надо мной :).
|
Цитата:
Я правда не спец в этом вопросе, поэтому если что прошу поправить. |
Цитата:
|
Цитата:
|
Цитата:
|
Текущее время: 05:36. Часовой пояс GMT +5. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод:
OOO «Единый интегратор UZINFOCOM»