Bug #16804 #1406 - Data too long for column
Submitted: 26 Jan 2006 13:11 Modified: 26 Feb 2006 13:57
Reporter: Joerg Milewski Email Updates:
Status: No Feedback Impact on me:
None 
Category:MySQL Server Severity:S1 (Critical)
Version:5.0.18 OS:Windows (WinXP-Professional SP2)
Assigned to: CPU Architecture:Any

[26 Jan 2006 13:11] Joerg Milewski
Description:
While importing in a empty database, the followin error stop execution:
SQL-Befehl: 

INSERT INTO `content_manager` 
VALUES ( 11, 0, 0, '', 2, 'Gutscheine', 'Gutscheine - Fragen und Antworte', '<table cellSpacing=0 cellPadding=0>\r\n<tbody>\r\n<tr>\r\n<td class=main><STRONG>Gutscheine kaufen </STRONG></td></tr>\r\n<tr>\r\n<td class=main>Gutscheine koennen, falls sie im Shop angeboten werden, wie normale Artikel gekauft werden. Sobald Sie einen Gutschein gekauft haben und dieser nach erfolgreicher Zahlung freigeschaltet wurde, erscheint der Betrag unter Ihrem Warenkorb. Nun koennen Sie ueber den Link " Gutschein versenden " den gewuenschten Betrag per E-Mail versenden. </td></tr></tbody></table>\r\n<table cellSpacing=0 cellPadding=0>\r\n<tbody>\r\n<tr>\r\n<td class=main><STRONG>Wie man Gutscheine versendet </STRONG></td></tr>\r\n<tr>\r\n<td class=main>Um einen Gutschein zu versenden, klicken Sie bitte auf den Link "Gutschein versenden" in Ihrem Einkaufskorb. Um einen Gutschein zu versenden, benoetigen wir folgende Angaben von Ihnen: Vor- und Nachname des Empfaengers. Eine gueltige E-Mail Adresse des Empfaengers. Den gewuenschten Betrag (Sie koennen auch Teilbetraege Ihres Guthabens versenden). Eine kurze Nachricht an den Empfaenger. Bitte ueberpruefen Sie Ihre Angaben noch einmal vor dem Versenden. Sie haben vor dem Versenden jederzeit die Moeglichkeit Ihre Angaben zu korrigieren. </td></tr></tbody></table>\r\n<table cellSpacing=0 cellPadding=0>\r\n<tbody>\r\n<tr>\r\n<td class=main><STRONG>Mit Gutscheinen Einkaufen. </STRONG></td></tr>\r\n<tr>\r\n<td class=main>Sobald Sie ueber ein Guthaben verfuegen, koennen Sie dieses zum Bezahlen Ihrer Bestellung verwenden. Waehrend des Bestellvorganges haben Sie die Moeglichkeit Ihr Guthaben einzuloesen. Falls das Guthaben unter dem Warenwert liegt muessen Sie Ihre bevorzugte Zahlungsweise fuer den Differenzbetrag waehlen. ܢersteigt Ihr Guthaben den Warenwert, steht Ihnen das Restguthaben selbstverstaendlich fuer Ihre naechste Bestellung zur Verfuegung. </td></tr></tbody></table>\r\n<table cellSpacing=0 cellPadding=0>\r\n<tbody>\r\n<tr>\r\n<td class=main><STRONG>Gutscheine verbuchen. </STRONG></td></tr>\r\n<tr>\r\n<td class=main>Wenn Sie einen Gutschein per E-Mail erhalten haben, koennen Sie den Betrag wie folgt verbuchen:. <br />1. Klicken Sie auf den in der E-Mail angegebenen Link. Falls Sie noch nicht ueber ein persoenliches Kundenkonto verfuegen, haben Sie die Moeglichkeit ein Konto zu eroeffnen. <br />2. Nachdem Sie ein Produkt in den Warenkorb gelegt haben, koennen Sie dort Ihren Gutscheincode eingeben.</td></tr></tbody></table>\r\n<table cellSpacing=0 cellPadding=0>\r\n<tbody>\r\n<tr>\r\n<td class=main><STRONG>Falls es zu Problemen kommen sollte: </STRONG></td></tr>\r\n<tr>\r\n<td class=main>Falls es wider Erwarten zu Problemen mit einem Gutschein kommen sollte, kontaktieren Sie uns bitte per E-Mail : you@yourdomain.com. Bitte beschreiben Sie moeglichst genau das Problem, wichtige Angaben sind unter anderem: Ihre Kundennummer, der Gutscheincode, Fehlermeldungen des Systems sowie der von Ihnen benutzte Browser. </td></tr></tbody></table>', 0, 1, '', 0, 6, 1 ) ;

MySQL meldet:  

#1406 - Data too long for column 'content_text' at row 1 

How to repeat:
Just import into following table:

DROP TABLE IF EXISTS `xtcom`.`content_manager`;
CREATE TABLE `xtcom`.`content_manager` (
  `content_id` INT(11) NOT NULL,
  `categories_id` INT(11) NOT NULL DEFAULT '0',
  `parent_id` INT(11) NOT NULL DEFAULT '0',
  `group_ids` TEXT NULL,
  `languages_id` INT(11) NOT NULL DEFAULT '0',
  `content_title` TEXT NOT NULL,
  `content_heading` TEXT NOT NULL,
  `content_text` TEXT NOT NULL,
  `sort_order` INT(4) NOT NULL DEFAULT '0',
  `file_flag` INT(1) NOT NULL DEFAULT '0',
  `content_file` VARCHAR(64) NOT NULL,
  `content_status` INT(1) NOT NULL DEFAULT '0',
  `content_group` INT(11) NOT NULL,
  `content_delete` INT(1) NOT NULL DEFAULT '1',
  PRIMARY KEY (`content_id`)
)
ENGINE = INNODB;

Suggested fix:
The update with MyPHPAdmin allows to insert the whole text into the field. - To enable a initial load via "Import" - properbly use larger buffersize.
[26 Jan 2006 13:57] Valeriy Kravchuk
Thank you for a problem report. Please, send the SHOW VARIABLES results from the mysql command line client (and from phpMyAdmin). You may upload results using the File tab.
[27 Feb 2006 0:00] Bugs System
No feedback was provided for this bug for over a month, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".