<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Форум PHP-MyAdmin.RU &mdash; Разбить строку таблицы на несколько частей]]></title>
		<link>https://forum.php-myadmin.ru/viewtopic.php?id=784</link>
		<atom:link href="https://forum.php-myadmin.ru/extern.php?action=feed&amp;tid=784&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Разбить строку таблицы на несколько частей».]]></description>
		<lastBuildDate>Fri, 23 May 2008 22:15:16 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Разбить строку таблицы на несколько частей]]></title>
			<link>https://forum.php-myadmin.ru/viewtopic.php?pid=5156#p5156</link>
			<description><![CDATA[<p><strong>chem1</strong><br />Если количество символов в поле более 255 и менее 65535, MySQL автоматически подставит тип text вместо varchar. При использовании varchar, просто не надо запоминать, сколько символов может содержать используемый тип. Использовать тип text для данных менее 256 символов - неразумно, а более 65535 он содержать не может. Выбор типа всегда зависит от задачи.</p>]]></description>
			<author><![CDATA[null@example.com (Hanut)]]></author>
			<pubDate>Fri, 23 May 2008 22:15:16 +0000</pubDate>
			<guid>https://forum.php-myadmin.ru/viewtopic.php?pid=5156#p5156</guid>
		</item>
		<item>
			<title><![CDATA[Re: Разбить строку таблицы на несколько частей]]></title>
			<link>https://forum.php-myadmin.ru/viewtopic.php?pid=5154#p5154</link>
			<description><![CDATA[<p>стал разбираться, заметил </p><p><em>`text` varchar(1000) NOT NULL</em></p><p>тип varchar вы предлогаете использовать по каким причинам? <br />Просто я всегда для текстовых массивов использую тип text.<br />Для этого типа в phpMyAdmin более удобная форма для редактирования.<br />Как правильнее?</p>]]></description>
			<author><![CDATA[null@example.com (chem1)]]></author>
			<pubDate>Fri, 23 May 2008 18:30:40 +0000</pubDate>
			<guid>https://forum.php-myadmin.ru/viewtopic.php?pid=5154#p5154</guid>
		</item>
		<item>
			<title><![CDATA[Re: Разбить строку таблицы на несколько частей]]></title>
			<link>https://forum.php-myadmin.ru/viewtopic.php?pid=5104#p5104</link>
			<description><![CDATA[<p>Спасибо огромное!<br />Все сработало.<br />Получилось то, что я хотел!</p>]]></description>
			<author><![CDATA[null@example.com (chem1)]]></author>
			<pubDate>Tue, 20 May 2008 04:41:44 +0000</pubDate>
			<guid>https://forum.php-myadmin.ru/viewtopic.php?pid=5104#p5104</guid>
		</item>
		<item>
			<title><![CDATA[Re: Разбить строку таблицы на несколько частей]]></title>
			<link>https://forum.php-myadmin.ru/viewtopic.php?pid=5100#p5100</link>
			<description><![CDATA[<p><strong>chem1</strong><br />CALL - это обычный SQL запрос. Как обычно SELECT пишите, так и это.</p>]]></description>
			<author><![CDATA[null@example.com (Hanut)]]></author>
			<pubDate>Mon, 19 May 2008 20:39:31 +0000</pubDate>
			<guid>https://forum.php-myadmin.ru/viewtopic.php?pid=5100#p5100</guid>
		</item>
		<item>
			<title><![CDATA[Re: Разбить строку таблицы на несколько частей]]></title>
			<link>https://forum.php-myadmin.ru/viewtopic.php?pid=5098#p5098</link>
			<description><![CDATA[<p>Спасибо!<br />Процедура создалась.</p><p><em>После вызова:<br />CALL proc(100);</em></p><p>А как вызов осуществить? Где его написать надо?</p>]]></description>
			<author><![CDATA[null@example.com (chem1)]]></author>
			<pubDate>Mon, 19 May 2008 18:29:33 +0000</pubDate>
			<guid>https://forum.php-myadmin.ru/viewtopic.php?pid=5098#p5098</guid>
		</item>
		<item>
			<title><![CDATA[Re: Разбить строку таблицы на несколько частей]]></title>
			<link>https://forum.php-myadmin.ru/viewtopic.php?pid=5096#p5096</link>
			<description><![CDATA[<p>Создайте процедуру proc с помощью данного запроса. При выполнении в phpMyAdmin, не забудьте поставить в поле разделителя две косые черты [//]. Измените имена процедуры и таблиц, чтобы они не задели существующие данные.</p><p>После вызова:<br />CALL proc(100);<br />в таблице done будут данные разрезанные по 100 символов. Значение параметра можно менять.<br /></p><div class="codebox"><pre><code>CREATE PROCEDURE `proc`(IN incr_param INT)
BEGIN
  DECLARE xtext text;
  DECLARE xid INT;
  DECLARE xlength INT;
  DECLARE xpos INT DEFAULT 1;

  SELECT `id`, `text`, CHAR_LENGTH(`text`) INTO xid, xtext, xlength
  FROM `table` WHERE `id` = 1;

  DROP TABLE IF EXISTS `done`;
  CREATE TABLE `done` (
    `id` tinyint(4) NOT NULL,
    `page` mediumint(8) unsigned NOT NULL auto_increment,
    `text` varchar(1000) NOT NULL,
    KEY `page` (`page`)
  ) ENGINE=MyISAM;

  loop1: LOOP
    INSERT INTO `done` (`id`, `text`) VALUES (xid, substring(xtext, xpos, incr_param));
    SET xpos = xpos + incr_param;
    IF xpos &lt;= xlength THEN ITERATE loop1; END IF;
    LEAVE loop1;
  END LOOP loop1;

END</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Hanut)]]></author>
			<pubDate>Mon, 19 May 2008 15:43:17 +0000</pubDate>
			<guid>https://forum.php-myadmin.ru/viewtopic.php?pid=5096#p5096</guid>
		</item>
		<item>
			<title><![CDATA[Re: Разбить строку таблицы на несколько частей]]></title>
			<link>https://forum.php-myadmin.ru/viewtopic.php?pid=5092#p5092</link>
			<description><![CDATA[<p><em>Это надо исходную таблицу перезаписать полученными разрезанными данными, или необходимо создать другую таблицу и вставить в нее?</em><br />Удобнее было бы перезаписать, но вобщем то не принципиально, можно и в новую таблицу запихать.</p><p><em>Текст можно только по количеству символов разрезать, но в этом случае слова будут разрезаны.</em><br />Устраивает</p><p><em>В получаемой таблице id будет константой из исходной таблицы, а page инкементальным целочисленным значением?</em><br />id - да, page - фактически это будет номер страницы (число), который затем будет выводиться на странице сайта ввиде пагинатора 1,2,3,4....105</p>]]></description>
			<author><![CDATA[null@example.com (chem1)]]></author>
			<pubDate>Mon, 19 May 2008 11:57:59 +0000</pubDate>
			<guid>https://forum.php-myadmin.ru/viewtopic.php?pid=5092#p5092</guid>
		</item>
		<item>
			<title><![CDATA[Re: Разбить строку таблицы на несколько частей]]></title>
			<link>https://forum.php-myadmin.ru/viewtopic.php?pid=5091#p5091</link>
			<description><![CDATA[<p><strong>chem1</strong><br />Это надо исходную таблицу перезаписать полученными разрезанными данными, или необходимо создать другую таблицу и вставить в нее? Текст можно только по количеству символов разрезать, но в этом случае слова будут разрезаны.</p><p>В получаемой таблице id будет константой из исходной таблицы, а page инкементальным целочисленным значением?</p>]]></description>
			<author><![CDATA[null@example.com (Hanut)]]></author>
			<pubDate>Mon, 19 May 2008 11:04:12 +0000</pubDate>
			<guid>https://forum.php-myadmin.ru/viewtopic.php?pid=5091#p5091</guid>
		</item>
		<item>
			<title><![CDATA[Re: Разбить строку таблицы на несколько частей]]></title>
			<link>https://forum.php-myadmin.ru/viewtopic.php?pid=5089#p5089</link>
			<description><![CDATA[<p>P.S. В программировании дуб дубом, буду благодерен если в своем ответе вы это учтете <img src="https://forum.php-myadmin.ru/img/smilies/smile.png" width="15" height="15" alt="smile" /></p>]]></description>
			<author><![CDATA[null@example.com (chem1)]]></author>
			<pubDate>Mon, 19 May 2008 10:36:45 +0000</pubDate>
			<guid>https://forum.php-myadmin.ru/viewtopic.php?pid=5089#p5089</guid>
		</item>
		<item>
			<title><![CDATA[Разбить строку таблицы на несколько частей]]></title>
			<link>https://forum.php-myadmin.ru/viewtopic.php?pid=5088#p5088</link>
			<description><![CDATA[<p>В строке таблицы mySQL большой массив данных (текст). Можно его как-нибуть разбить на несколько мелких частей? Частей должно быть много (больше сотни) поэтому вариант резрезать в ручную не предлагать.</p><p>Исходная строка таблицы: id (идентификатор - номер строки), page (пусто), text (400kb текста)</p><p>Должно получиться :&nbsp; id (идентификатор - номер строки), page (1), text (первые 4kb текста)<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;id (идентификатор - номер строки), page (2), text (вторые 4kb текста)<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;id (идентификатор - номер строки), page (3), text (третие 4kb текста)<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;и т.д.</p>]]></description>
			<author><![CDATA[null@example.com (chem1)]]></author>
			<pubDate>Mon, 19 May 2008 10:30:02 +0000</pubDate>
			<guid>https://forum.php-myadmin.ru/viewtopic.php?pid=5088#p5088</guid>
		</item>
	</channel>
</rss>
