<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Форум PHP-MyAdmin.RU &mdash; Как поменять длину length для всех значений полей таблицы]]></title>
	<link rel="self" href="https://forum.php-myadmin.ru/extern.php?action=feed&amp;tid=2548&amp;type=atom" />
	<updated>2012-05-02T12:43:11Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.php-myadmin.ru/viewtopic.php?id=2548</id>
		<entry>
			<title type="html"><![CDATA[Re: Как поменять длину length для всех значений полей таблицы]]></title>
			<link rel="alternate" href="https://forum.php-myadmin.ru/viewtopic.php?pid=19892#p19892" />
			<content type="html"><![CDATA[<p>Ясно. Никогда не используйте блокнот. <img src="https://forum.php-myadmin.ru/img/smilies/smile.png" width="15" height="15" alt="smile" /></p>]]></content>
			<author>
				<name><![CDATA[Hanut]]></name>
				<uri>https://forum.php-myadmin.ru/profile.php?id=181</uri>
			</author>
			<updated>2012-05-02T12:43:11Z</updated>
			<id>https://forum.php-myadmin.ru/viewtopic.php?pid=19892#p19892</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Как поменять длину length для всех значений полей таблицы]]></title>
			<link rel="alternate" href="https://forum.php-myadmin.ru/viewtopic.php?pid=19890#p19890" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Hanut сказал:</cite><blockquote><p>Не могу сказать, я с таким не сталкивался. Посмотрите что даст оптимизация, это проще всего проверить.</p></blockquote></div><p>Оптимизация не помогла, экспорт импорт тоже...</p><p>НО! Я импортировал таблицу в новую базу: <br />MySQL-кодировка: Windows Cyrillic (cp1251) <br />Сопоставление: utf8_general_ci</p><p>И увидел следующее оказывается некоторые логины имеют приставку </p><div class="codebox"><pre><code>&amp;#65279;</code></pre></div><p>!!!! BOM (Byte Order Mark)!!!</p><p>Т.е. при загрузке из cvs эта зараза тоже прогружалась и некоторые логины (визуально все отлично) были корявыми....</p>]]></content>
			<author>
				<name><![CDATA[kostyara]]></name>
				<uri>https://forum.php-myadmin.ru/profile.php?id=4290</uri>
			</author>
			<updated>2012-05-02T12:03:42Z</updated>
			<id>https://forum.php-myadmin.ru/viewtopic.php?pid=19890#p19890</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Как поменять длину length для всех значений полей таблицы]]></title>
			<link rel="alternate" href="https://forum.php-myadmin.ru/viewtopic.php?pid=19886#p19886" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>kostyara сказал:</cite><blockquote><p>Вот я думаю может выгрузить загрузить таблицу.... Выгружает логин именно 9 символов... Или оптимизацию + восстановление сделать?</p></blockquote></div><p>Не могу сказать, я с таким не сталкивался. Посмотрите что даст оптимизация, это проще всего проверить.</p>]]></content>
			<author>
				<name><![CDATA[Hanut]]></name>
				<uri>https://forum.php-myadmin.ru/profile.php?id=181</uri>
			</author>
			<updated>2012-05-02T11:09:10Z</updated>
			<id>https://forum.php-myadmin.ru/viewtopic.php?pid=19886#p19886</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Как поменять длину length для всех значений полей таблицы]]></title>
			<link rel="alternate" href="https://forum.php-myadmin.ru/viewtopic.php?pid=19884#p19884" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Hanut сказал:</cite><blockquote><p>У меня и LENGTH и CHAR_LENGTH возвращают длину строки поля Login в 9 символов для обеих строк. Не могу объяснить такое поведение запроса.</p></blockquote></div><p>Вот я думаю может выгрузить загрузить таблицу.... Выгружает логин именно 9 символов... Или оптимизацию + восстановление сделать?</p>]]></content>
			<author>
				<name><![CDATA[kostyara]]></name>
				<uri>https://forum.php-myadmin.ru/profile.php?id=4290</uri>
			</author>
			<updated>2012-05-02T10:52:54Z</updated>
			<id>https://forum.php-myadmin.ru/viewtopic.php?pid=19884#p19884</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Как поменять длину length для всех значений полей таблицы]]></title>
			<link rel="alternate" href="https://forum.php-myadmin.ru/viewtopic.php?pid=19881#p19881" />
			<content type="html"><![CDATA[<p>У меня и LENGTH и CHAR_LENGTH возвращают длину строки поля Login в 9 символов для обеих строк. Не могу объяснить такое поведение запроса.</p>]]></content>
			<author>
				<name><![CDATA[Hanut]]></name>
				<uri>https://forum.php-myadmin.ru/profile.php?id=181</uri>
			</author>
			<updated>2012-05-02T10:36:55Z</updated>
			<id>https://forum.php-myadmin.ru/viewtopic.php?pid=19881#p19881</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Как поменять длину length для всех значений полей таблицы]]></title>
			<link rel="alternate" href="https://forum.php-myadmin.ru/viewtopic.php?pid=19876#p19876" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Hanut сказал:</cite><blockquote><p>Все правильно. Должно работать нормально. Можете показать структуру таблицы и одну строку с данными, которые дают неверный результат?</p></blockquote></div><div class="codebox"><pre><code>-- phpMyAdmin SQL Dump
-- version 3.0.1.1
-- http://www.phpmyadmin.net
--
-- Хост: localhost
-- Время создания: Май 02 2012 г., 14:03
-- Версия сервера: 5.1.51
-- Версия PHP: 5.2.17

SET SQL_MODE=&quot;NO_AUTO_VALUE_ON_ZERO&quot;;


--
-- Структура таблицы `User`
--

CREATE TABLE IF NOT EXISTS `User` (
  `User_ID` int(11) NOT NULL AUTO_INCREMENT,
  `Password` varchar(45) NOT NULL DEFAULT &#039;&#039;,
  `PermissionGroup_ID` int(11) NOT NULL,
  `Checked` tinyint(4) NOT NULL DEFAULT &#039;0&#039;,
  `Language` varchar(255) NOT NULL DEFAULT &#039;Russian&#039;,
  `Created` datetime NOT NULL DEFAULT &#039;0000-00-00 00:00:00&#039;,
  `LastUpdated` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `Email` char(255) DEFAULT NULL,
  `Confirmed` tinyint(4) NOT NULL DEFAULT &#039;0&#039;,
  `RegistrationCode` varchar(255) NOT NULL DEFAULT &#039;&#039;,
  `Keyword` varchar(255) DEFAULT NULL,
  `Login` varchar(255) NOT NULL DEFAULT &#039;&#039;,
  `ForumName` char(255) DEFAULT NULL,
  `ForumAvatar` char(255) DEFAULT NULL,
  `FullName` varchar(255) NOT NULL DEFAULT &#039;&#039;,
  `Catalogue_ID` int(11) NOT NULL DEFAULT &#039;0&#039;,
  `InsideAdminAccess` tinyint(4) NOT NULL DEFAULT &#039;0&#039;,
  `Auth_Hash` text,
  `UserType` enum(&#039;normal&#039;,&#039;pseudo&#039;,&#039;vk&#039;,&#039;fb&#039;,&#039;twitter&#039;,&#039;openid&#039;) NOT NULL DEFAULT &#039;normal&#039;,
  `Account` int(11) DEFAULT &#039;0&#039;,
  `ncAttemptAuth` int(11) DEFAULT &#039;0&#039;,
  `Sex` int(11) NOT NULL,
  `Phone` char(255) DEFAULT NULL,
  `Address` char(255) DEFAULT NULL,
  `SecondName` char(255) DEFAULT NULL,
  PRIMARY KEY (`User_ID`),
  UNIQUE KEY `User_ID` (`User_ID`),
  KEY `PermissionGroup_ID` (`PermissionGroup_ID`),
  KEY `Checked` (`Checked`),
  KEY `Confirmed` (`Confirmed`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=6793 ;</code></pre></div><p>И примеры строки:</p><p>Возвращает длину логина 12:<br /></p><div class="codebox"><pre><code>(291, &#039;8b82dfdb445e1dd4db3f8ce45f12ef05&#039;, 2, 1, &#039;Russian&#039;, &#039;2012-01-07 19:22:07&#039;, &#039;2012-01-07 19:22:07&#039;, &#039;email@mail.ru&#039;, 1, &#039;&#039;, NULL, &#039;000005904&#039;, &#039;Имя&#039;, NULL, &#039;&#039;, 0, 0, NULL, &#039;normal&#039;, 3510, 0, 1, &#039;+123456&#039;, &#039;&#039;, &#039;Фамилия&#039;)</code></pre></div><p>Возвращает длину логина 9, т.е. правильно:<br /></p><div class="codebox"><pre><code>(5191, &#039;3adc67addddsd28ae68af0d9660c88d8&#039;, 5, 1, &#039;Russian&#039;, &#039;2012-03-29 12:39:00&#039;, &#039;2012-04-23 13:20:13&#039;, &#039;&#039;, 1, &#039;&#039;, NULL, &#039;000009253&#039;, &#039;Имя&#039;, &#039;&#039;, &#039;&#039;, 0, 0, NULL, &#039;normal&#039;, 5665, 0, 1, &#039;+123456&#039;, &#039;&#039;, &#039;Фамилия&#039;)</code></pre></div><p>Разницы вообще не вижу никакой(((</p><p>Где именно происходит это странное изменение длины не пойму, скорее всего на этапе импорта из cvs, может какие то непечатные символы.... Как привести длину в нужный вид ума не приложу.... И спасибо тебе человеческое <strong>Hanut</strong> за помощь!</p>]]></content>
			<author>
				<name><![CDATA[kostyara]]></name>
				<uri>https://forum.php-myadmin.ru/profile.php?id=4290</uri>
			</author>
			<updated>2012-05-02T10:17:42Z</updated>
			<id>https://forum.php-myadmin.ru/viewtopic.php?pid=19876#p19876</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Как поменять длину length для всех значений полей таблицы]]></title>
			<link rel="alternate" href="https://forum.php-myadmin.ru/viewtopic.php?pid=19872#p19872" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>kostyara сказал:</cite><blockquote><p>Сравнение: utf8_general_ci</p></blockquote></div><p>Все правильно. Должно работать нормально. Можете показать структуру таблицы и одну строку с данными, которые дают неверный результат?</p>]]></content>
			<author>
				<name><![CDATA[Hanut]]></name>
				<uri>https://forum.php-myadmin.ru/profile.php?id=181</uri>
			</author>
			<updated>2012-05-02T10:00:34Z</updated>
			<id>https://forum.php-myadmin.ru/viewtopic.php?pid=19872#p19872</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Как поменять длину length для всех значений полей таблицы]]></title>
			<link rel="alternate" href="https://forum.php-myadmin.ru/viewtopic.php?pid=19870#p19870" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Hanut сказал:</cite><blockquote><p>А сравнение у поля Login какое?</p></blockquote></div><p>Сравнение: utf8_general_ci</p>]]></content>
			<author>
				<name><![CDATA[kostyara]]></name>
				<uri>https://forum.php-myadmin.ru/profile.php?id=4290</uri>
			</author>
			<updated>2012-05-02T09:47:42Z</updated>
			<id>https://forum.php-myadmin.ru/viewtopic.php?pid=19870#p19870</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Как поменять длину length для всех значений полей таблицы]]></title>
			<link rel="alternate" href="https://forum.php-myadmin.ru/viewtopic.php?pid=19869#p19869" />
			<content type="html"><![CDATA[<p>А сравнение у поля Login какое?</p>]]></content>
			<author>
				<name><![CDATA[Hanut]]></name>
				<uri>https://forum.php-myadmin.ru/profile.php?id=181</uri>
			</author>
			<updated>2012-05-02T09:45:05Z</updated>
			<id>https://forum.php-myadmin.ru/viewtopic.php?pid=19869#p19869</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Как поменять длину length для всех значений полей таблицы]]></title>
			<link rel="alternate" href="https://forum.php-myadmin.ru/viewtopic.php?pid=19868#p19868" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Hanut сказал:</cite><blockquote><p>Попробуйте использовать CHAR_LENGTH(). Функция LENGTH возвращает длину строки в байтах, поэтому для многобайтных кодировок, например utf8, один символ будет состоять из двух байт.</p></blockquote></div><p>При использовании CHAR_LENGTH там где возвращало 12 возвращает 10....</p><div class="quotebox"><cite>Hanut сказал:</cite><blockquote><p>Если не получится, то укажите какой тип данных используется для поля Login.</p></blockquote></div><p>Поле Login &nbsp; &nbsp; Тип varchar(255)</p><p>MySQL-кодировка: UTF-8 Unicode (utf8)</p>]]></content>
			<author>
				<name><![CDATA[kostyara]]></name>
				<uri>https://forum.php-myadmin.ru/profile.php?id=4290</uri>
			</author>
			<updated>2012-05-02T09:29:20Z</updated>
			<id>https://forum.php-myadmin.ru/viewtopic.php?pid=19868#p19868</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Как поменять длину length для всех значений полей таблицы]]></title>
			<link rel="alternate" href="https://forum.php-myadmin.ru/viewtopic.php?pid=19867#p19867" />
			<content type="html"><![CDATA[<p>Попробуйте использовать CHAR_LENGTH(). Функция LENGTH возвращает длину строки в байтах, поэтому для многобайтных кодировок, например utf8, один символ будет состоять из двух байт.</p><p>Если не получится, то укажите какой тип данных используется для поля Login.</p>]]></content>
			<author>
				<name><![CDATA[Hanut]]></name>
				<uri>https://forum.php-myadmin.ru/profile.php?id=181</uri>
			</author>
			<updated>2012-05-02T09:19:17Z</updated>
			<id>https://forum.php-myadmin.ru/viewtopic.php?pid=19867#p19867</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Как поменять длину length для всех значений полей таблицы]]></title>
			<link rel="alternate" href="https://forum.php-myadmin.ru/viewtopic.php?pid=19866#p19866" />
			<content type="html"><![CDATA[<p>Приветствую всех! Собственно суть проблемы, делаю запрос для таблицы User:<br />select Login, length(Login), length(&#039;000005904&#039;) from User where User_ID = 291<br />Ответ следующий:<br />Login&nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp;length(Login)&nbsp; &nbsp; length(&#039;000005904&#039;)<br />000005904&nbsp; &nbsp; 12&nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;12</p><p>хотя логин состоит из 9 цифр....</p><p>Делаю запрос:</p><p>select Login, length(Login), length(&#039;000007890&#039;) from User where User_ID = 6792<br />Ответ:<br />Login&nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp;length(Login)&nbsp; &nbsp;&nbsp; &nbsp;length(&#039;000007890&#039;)<br />000007890&nbsp; &nbsp;&nbsp; &nbsp; &nbsp;12&nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;9</p><p>Делаю:<br />select Login,length(Login), length(&#039;000009253&#039;) from User where User_ID = 5191<br />Ответ:<br />Login&nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; length(Login)&nbsp; &nbsp; length(&#039;000009253&#039;)<br />000009253&nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;9&nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;9</p><br /><p>Т.е. везде все по разному, и пользователи не могут авторизоваться у кого length = 12 ......&nbsp; длина должна быть равна 9ти, т.к. все логины это девятизначные номера карт...</p><p>Как пакетно привести все в порядок? Какой конструкцией запроса? помогите пожалуйста, ребятки...!</p>]]></content>
			<author>
				<name><![CDATA[kostyara]]></name>
				<uri>https://forum.php-myadmin.ru/profile.php?id=4290</uri>
			</author>
			<updated>2012-05-02T09:01:47Z</updated>
			<id>https://forum.php-myadmin.ru/viewtopic.php?pid=19866#p19866</id>
		</entry>
</feed>
