SQLinfo.ru - Все о MySQL Webew.ru: теория и практика веб-технологий

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 11.12.2012 11:33:54

niggatub
Участник
Зарегистрирован: 11.12.2012
Сообщений: 8

Увеличить длину поля text

День добрый, я скажем так, новичок новичокsmile) Сильно не пинайте.
Есть некая таблица, в ней присутствует поле с типом text.
Ниже дамп. 16я строка "zip" интересует


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

CREATE TABLE IF NOT EXISTS `vqih9_virtuemart_userfields` (
  `virtuemart_userfield_id` smallint(1) unsigned NOT NULL AUTO_INCREMENT,
  `virtuemart_vendor_id` smallint(1) unsigned NOT NULL DEFAULT '1',
  `userfield_jplugin_id` int(11) NOT NULL DEFAULT '0',
  `name` char(50) NOT NULL DEFAULT '',
  `title` char(255) NOT NULL DEFAULT '',
  `description` mediumtext,
  `type` char(50) NOT NULL DEFAULT '',
  `maxlength` int(11) DEFAULT NULL,
  `size` int(11) DEFAULT NULL,
  `required` tinyint(4) NOT NULL DEFAULT '0',
  `cols` int(11) DEFAULT NULL,
  `rows` int(11) DEFAULT NULL,
  `value` char(50) DEFAULT NULL,
  `default` int(11) DEFAULT NULL,
  `registration` tinyint(1) NOT NULL DEFAULT '0',
  `shipment` tinyint(1) NOT NULL DEFAULT '0',
  `account` tinyint(1) NOT NULL DEFAULT '1',
  `readonly` tinyint(1) NOT NULL DEFAULT '0',
  `calculated` tinyint(1) NOT NULL DEFAULT '0',
  `sys` tinyint(4) NOT NULL DEFAULT '0',
  `params` varchar(18000) DEFAULT NULL,
  `ordering` int(2) NOT NULL DEFAULT '0',
  `shared` tinyint(1) NOT NULL DEFAULT '0',
  `published` tinyint(1) NOT NULL DEFAULT '1',
  `created_on` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `created_by` int(11) NOT NULL DEFAULT '0',
  `modified_on` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `modified_by` int(11) NOT NULL DEFAULT '0',
  `locked_on` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `locked_by` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`virtuemart_userfield_id`),
  KEY `i_virtuemart_vendor_id` (`virtuemart_vendor_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COMMENT='Holds the fields for the user information' AUTO_INCREMENT=27 ;

--
-- Дамп данных таблицы `vqih9_virtuemart_userfields`
--

INSERT INTO `vqih9_virtuemart_userfields` (`virtuemart_userfield_id`, `virtuemart_vendor_id`, `userfield_jplugin_id`, `name`, `title`, `description`, `type`, `maxlength`, `size`, `required`, `cols`, `rows`, `value`, `default`, `registration`, `shipment`, `account`, `readonly`, `calculated`, `sys`, `params`, `ordering`, `shared`, `published`, `created_on`, `created_by`, `modified_on`, `modified_by`, `locked_on`, `locked_by`) VALUES
(1, 1, 0, 'email', 'COM_VIRTUEMART_REGISTER_EMAIL', '', 'emailaddress', 100, 30, 1, NULL, NULL, NULL, NULL, 1, 0, 1, 0, 0, 1, NULL, 10, 0, 1, '0000-00-00 00:00:00', 0, '0000-00-00 00:00:00', 0, '0000-00-00 00:00:00', 0),
(2, 1, 0, 'password', 'COM_VIRTUEMART_SHOPPER_FORM_PASSWORD_1', '', 'password', 25, 30, 1, NULL, NULL, NULL, NULL, 1, 0, 1, 0, 0, 1, NULL, 4, 0, 1, '0000-00-00 00:00:00', 0, '0000-00-00 00:00:00', 0, '0000-00-00 00:00:00', 0),
(3, 1, 0, 'password2', 'COM_VIRTUEMART_SHOPPER_FORM_PASSWORD_2', '', 'password', 25, 30, 1, NULL, NULL, NULL, NULL, 1, 0, 1, 0, 0, 1, NULL, 5, 0, 1, '0000-00-00 00:00:00', 0, '0000-00-00 00:00:00', 0, '0000-00-00 00:00:00', 0),
(4, 1, 0, 'agreed', 'COM_VIRTUEMART_I_AGREE_TO_TOS', '', 'checkbox', NULL, NULL, 1, NULL, NULL, NULL, NULL, 1, 0, 1, 0, 0, 1, NULL, 25, 0, 1, '0000-00-00 00:00:00', 0, '0000-00-00 00:00:00', 0, '0000-00-00 00:00:00', 0),
(5, 1, 0, 'name', 'COM_VIRTUEMART_USER_DISPLAYED_NAME', '', 'text', 25, 30, 1, 0, 0, '', NULL, 1, 0, 1, 0, 0, 1, '', 2, 0, 1, '0000-00-00 00:00:00', 0, '0000-00-00 00:00:00', 0, '0000-00-00 00:00:00', 0),
(6, 1, 0, 'username', 'COM_VIRTUEMART_USERNAME', '', 'text', 25, 30, 1, 0, 0, '', NULL, 1, 0, 1, 0, 0, 1, '', 3, 0, 1, '0000-00-00 00:00:00', 0, '0000-00-00 00:00:00', 0, '0000-00-00 00:00:00', 0),
(7, 1, 0, 'address_type_name', 'COM_VIRTUEMART_USER_FORM_ADDRESS_LABEL', '', 'text', 32, 30, 0, NULL, NULL, NULL, NULL, 0, 1, 0, 0, 0, 1, NULL, 7, 0, 0, '0000-00-00 00:00:00', 0, '0000-00-00 00:00:00', 0, '0000-00-00 00:00:00', 0),
(8, 1, 0, 'delimiter_billto', 'COM_VIRTUEMART_USER_FORM_BILLTO_LBL', '', 'delimiter', 25, 30, 0, NULL, NULL, NULL, NULL, 1, 0, 1, 0, 0, 0, NULL, 6, 0, 1, '0000-00-00 00:00:00', 0, '0000-00-00 00:00:00', 0, '0000-00-00 00:00:00', 0),
(9, 1, 0, 'company', 'COM_VIRTUEMART_SHOPPER_FORM_COMPANY_NAME', '', 'text', 64, 30, 0, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 0, 1, NULL, 8, 0, 0, '0000-00-00 00:00:00', 0, '0000-00-00 00:00:00', 0, '0000-00-00 00:00:00', 0),
(10, 1, 0, 'title', 'COM_VIRTUEMART_SHOPPER_FORM_TITLE', '', 'select', 0, 0, 0, NULL, NULL, NULL, NULL, 1, 0, 1, 0, 0, 1, NULL, 9, 0, 0, '0000-00-00 00:00:00', 0, '0000-00-00 00:00:00', 0, '0000-00-00 00:00:00', 0),
(11, 1, 0, 'first_name', 'ФИО / Компания', '', 'text', 32, 30, 0, 0, 0, NULL, NULL, 1, 1, 1, 0, 0, 1, NULL, 11, 0, 1, '0000-00-00 00:00:00', 0, '2012-08-30 18:26:46', 793, '0000-00-00 00:00:00', 0),
(12, 1, 0, 'middle_name', 'COM_VIRTUEMART_SHOPPER_FORM_MIDDLE_NAME', '', 'text', 32, 30, 0, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 0, 1, NULL, 12, 0, 0, '0000-00-00 00:00:00', 0, '0000-00-00 00:00:00', 0, '0000-00-00 00:00:00', 0),
(13, 1, 0, 'last_name', 'COM_VIRTUEMART_SHOPPER_FORM_LAST_NAME', '', 'text', 32, 30, 0, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 0, 1, NULL, 15, 0, 0, '0000-00-00 00:00:00', 0, '0000-00-00 00:00:00', 0, '0000-00-00 00:00:00', 0),
(14, 1, 0, 'address_1', 'Адрес доставки', '', 'textarea', 255, 60, 0, 0, 0, NULL, NULL, 1, 1, 1, 0, 0, 1, NULL, 16, 0, 0, '0000-00-00 00:00:00', 0, '2012-08-30 18:27:19', 793, '0000-00-00 00:00:00', 0),
(15, 1, 0, 'address_2', 'COM_VIRTUEMART_SHOPPER_FORM_ADDRESS_2', '', 'text', 64, 30, 0, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 0, 1, NULL, 17, 0, 0, '0000-00-00 00:00:00', 0, '0000-00-00 00:00:00', 0, '0000-00-00 00:00:00', 0),
(16, 1, 0, 'zip', 'Адрес доставки', '', 'text', 255, 30, 0, 0, 0, NULL, NULL, 1, 1, 1, 0, 0, 1, NULL, 18, 0, 1, '0000-00-00 00:00:00', 0, '2012-08-30 21:15:50', 793, '0000-00-00 00:00:00', 0),
(17, 1, 0, 'city', 'COM_VIRTUEMART_SHOPPER_FORM_CITY', '', 'text', 32, 30, 0, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 0, 1, NULL, 19, 0, 0, '0000-00-00 00:00:00', 0, '0000-00-00 00:00:00', 0, '0000-00-00 00:00:00', 0),
(18, 1, 0, 'virtuemart_country_id', 'COM_VIRTUEMART_SHOPPER_FORM_COUNTRY', '', 'select', 0, 0, 0, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 0, 1, NULL, 20, 0, 0, '0000-00-00 00:00:00', 0, '0000-00-00 00:00:00', 0, '0000-00-00 00:00:00', 0),
(19, 1, 0, 'virtuemart_state_id', 'COM_VIRTUEMART_SHOPPER_FORM_STATE', '', 'select', 0, 0, 0, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 0, 1, NULL, 21, 0, 0, '0000-00-00 00:00:00', 0, '0000-00-00 00:00:00', 0, '0000-00-00 00:00:00', 0),
(20, 1, 0, 'phone_1', 'COM_VIRTUEMART_SHOPPER_FORM_PHONE', '', 'text', 32, 30, 0, 0, 0, NULL, NULL, 1, 1, 1, 0, 0, 1, NULL, 13, 0, 1, '0000-00-00 00:00:00', 0, '2012-08-30 19:09:01', 793, '0000-00-00 00:00:00', 0),
(21, 1, 0, 'phone_2', 'COM_VIRTUEMART_SHOPPER_FORM_PHONE2', '', 'text', 32, 30, 0, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 0, 1, NULL, 22, 0, 0, '0000-00-00 00:00:00', 0, '0000-00-00 00:00:00', 0, '0000-00-00 00:00:00', 0),
(22, 1, 0, 'fax', 'COM_VIRTUEMART_SHOPPER_FORM_FAX', '', 'text', 32, 30, 0, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 0, 1, NULL, 23, 0, 0, '0000-00-00 00:00:00', 0, '0000-00-00 00:00:00', 0, '0000-00-00 00:00:00', 0),
(23, 1, 0, 'delimiter_sendregistration', 'COM_VIRTUEMART_BUTTON_SEND_REG', '', 'delimiter', 25, 30, 0, NULL, NULL, NULL, NULL, 1, 0, 0, 0, 0, 0, NULL, 24, 0, 1, '0000-00-00 00:00:00', 0, '0000-00-00 00:00:00', 0, '0000-00-00 00:00:00', 0),
(24, 1, 0, 'delimiter_userinfo', 'COM_VIRTUEMART_ORDER_PRINT_CUST_INFO_LBL', '', 'delimiter', NULL, NULL, 0, NULL, NULL, NULL, NULL, 1, 0, 1, 0, 0, 0, NULL, 1, 0, 0, '0000-00-00 00:00:00', 0, '0000-00-00 00:00:00', 0, '0000-00-00 00:00:00', 0),
(25, 1, 0, 'comments', 'Комментарии', '', 'textarea', 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 1, 0, 0, 0, NULL, 26, 0, 1, '2012-08-30 18:28:44', 793, '2012-08-30 18:28:44', 793, '0000-00-00 00:00:00', 0),
(26, 1, 0, 'pays', 'Способ оплаты', '', 'select', 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 1, 0, 0, 0, NULL, 14, 0, 1, '2012-08-30 18:43:57', 793, '2012-08-30 19:10:20', 793, '0000-00-00 00:00:00', 0);

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
 

При записи данных в другую таблицу, при заполнении этого поля, записываются только 16 символов.
Соответственно в таблице куда пишется "поле zip тип char(16)" написано
Как это побороть?

Неактивен

 

#2 11.12.2012 11:40:40

niggatub
Участник
Зарегистрирован: 11.12.2012
Сообщений: 8

Re: Увеличить длину поля text

чето форум глючит, сорри за дубликаты

Неактивен

 

#3 11.12.2012 16:34:20

niggatub
Участник
Зарегистрирован: 11.12.2012
Сообщений: 8

Re: Увеличить длину поля text

Никто не подскажет?sad

Неактивен

 

#4 11.12.2012 16:37:10

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: Увеличить длину поля text

Если тип char(16), его можно преобразовать в varchar(255), например. О какой колонке в какой таблице идет речь?

Неактивен

 

#5 12.12.2012 14:27:04

niggatub
Участник
Зарегистрирован: 11.12.2012
Сообщений: 8

Re: Увеличить длину поля text

Вот эта колонка.

(16, 1, 0, 'zip', 'Адрес доставки', '', 'text', 255, 30, 0, 0, 0, NULL, NULL, 1, 1, 1, 0, 0, 1, NULL, 18, 0, 1, '0000-00-00 00:00:00', 0, '2012-08-30 21:15:50', 793, '0000-00-00 00:00:00', 0),

А как его преобразовать в  varchar(255)? smile

Отредактированно niggatub (12.12.2012 14:28:32)

Неактивен

 

#6 12.12.2012 14:31:06

niggatub
Участник
Зарегистрирован: 11.12.2012
Сообщений: 8

Re: Увеличить длину поля text

А сами данные при заполнении этого текстового поля пишутся в таблицу vqih9_virtuemart_order_userinfos. Вот в ней как раз указан что тип поля char(16)

Отредактированно niggatub (12.12.2012 14:32:13)

Неактивен

 

#7 12.12.2012 14:36:16

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Увеличить длину поля text

niggatub написал:

Вот эта колонка.

(16, 1, 0, 'zip', 'Адрес доставки', '', 'text', 255, 30, 0, 0, 0, NULL, NULL, 1, 1, 1, 0, 0, 1, NULL, 18, 0, 1, '0000-00-00 00:00:00', 0, '2012-08-30 21:15:50', 793, '0000-00-00 00:00:00', 0),

Это строка.


niggatub написал:

Соответственно в таблице куда пишется "поле zip тип char(16)" написано

Вот в этой таблице (где есть поле zip типа char(16)) и нужно сделать преобразование. Приведите результат выполнения команды:
show create table `имя таблицы`;

Неактивен

 

#8 12.12.2012 16:30:41

niggatub
Участник
Зарегистрирован: 11.12.2012
Сообщений: 8

Re: Увеличить длину поля text

нужно выполнить sql запрос

SHOW CREATE TABLE vqih9_virtuemart_order_userinfos
я правильно понял?)

Неактивен

 

#9 12.12.2012 16:31:52

niggatub
Участник
Зарегистрирован: 11.12.2012
Сообщений: 8

Re: Увеличить длину поля text

CREATE TABLE `vqih9_virtuemart_order_userinfos` (  `virtuemart_order_userinfo_id` int(1) unsigned NOT NULL AUTO_INCREMENT,  `virtuemart_order_id` int(1) unsigned NOT NULL DEFAULT '0',  `virtuemart_user_id` int(1) unsigned NOT NULL DEFAULT '0',  `address_type` char(2) DEFAULT NULL,  `address_type_name` char(32) DEFAULT NULL,  `company` char(64) DEFAULT NULL,  `title` char(32) DEFAULT NULL,  `last_name` char(32) DEFAULT NULL,  `first_name` char(32) DEFAULT NULL,  `middle_name` char(32) DEFAULT NULL,  `phone_1` char(24) DEFAULT NULL,  `phone_2` char(24) DEFAULT NULL,  `fax` char(24) DEFAULT NULL,  `address_2` char(64) DEFAULT NULL,  `city` char(32) NOT NULL DEFAULT '',  `virtuemart_state_id` smallint(1) unsigned NOT NULL DEFAULT '0',  `virtuemart_country_id` smallint(1) unsigned NOT NULL DEFAULT '0',  `zip` char(16) NOT NULL DEFAULT '',  `email` char(255) DEFAULT NULL,  `agreed` tinyint(1) NOT NULL DEFAULT '0',  `created_on` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',  `created_by` int(11) NOT NULL DEFAULT '0',  `modified_on` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',  `modified_by` int(11) NOT NULL DEFAULT '0',  `locked_on` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',  `locked_by` int(11) NOT NULL DEFAULT '0',  `pays` varchar(255) DEFAULT NULL,  `address_1` varchar(255) DEFAULT NULL,  `comments` mediumtext,  PRIMARY KEY (`virtuemart_order_userinfo_id`),  KEY `i_virtuemart_order_id` (`virtuemart_order_id`),  KEY `i_virtuemart_user_id` (`virtuemart_user_id`)) ENGINE=MyISAM AUTO_INCREMENT=358 DEFAULT CHARSET=utf8 COMMENT='Stores the BillTo and ShipTo Information at order time'

Неактивен

 

#10 12.12.2012 17:47:28

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Увеличить длину поля text

alter table `vqih9_virtuemart_order_userinfos` modify `zip` varchar(255) NOT NULL DEFAULT '';

Неактивен

 

#11 12.12.2012 18:01:07

niggatub
Участник
Зарегистрирован: 11.12.2012
Сообщений: 8

Re: Увеличить длину поля text

vasya написал:

alter table `vqih9_virtuemart_order_userinfos` modify `zip` varchar(255) NOT NULL DEFAULT '';

Да устелится твой путь лепестками лотоса)))
Вот спасибо огромное - все работает как  надоsmile

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson