#mysql
#mysql
Вопрос:
у меня возникает эта ошибка, когда я пытаюсь вставить в свою базу данных:
error code 1265 data truncated on `bd_html`
здесь таблица:
CREATE TABLE IF NOT EXISTS `frame_board_intra_board` (
`bd_no` int(10) unsigned NOT NULL auto_increment,
`bd_order` int(10) unsigned NOT NULL default '0',
`bd_depth` int(10) unsigned NOT NULL default '0',
`bd_root` int(10) unsigned NOT NULL default '0',
`bd_parent` int(10) unsigned NOT NULL default '0',
`ca_no` int(10) unsigned NOT NULL default '0',
`bd_notice` enum('0','1') NOT NULL default '0',
`userID` varchar(20) NOT NULL default '',
`userName` varchar(20) NOT NULL default '',
`userPass` varchar(41) NOT NULL default '',
`userEmail` varchar(100) NOT NULL default '',
`bd_secret` varchar(41) NOT NULL default '',
`bd_title` varchar(255) NOT NULL default '',
`bd_content` text NOT NULL,
`bd_html` enum('0','1') NOT NULL default '0',
`bd_noBr` enum('0','1') NOT NULL default '0',
`bd_regDate` datetime default NULL,
`bd_ip` varchar(40) NOT NULL default '',
`bd_procedure` int(2) NOT NULL default '0',
`bd_hit` int(10) unsigned NOT NULL default '0',
`bd_vote` int(10) unsigned NOT NULL default '0',
PRIMARY KEY (`bd_no`),
KEY `bd_order` (`bd_order`),
KEY `userID` (`userID`),
KEY `userName` (`userName`),
KEY `bd_title` (`bd_title`),
KEY `bd_regDate` (`bd_regDate`),
KEY `bd_hit` (`bd_hit`),
KEY `bd_vote` (`bd_vote`)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
и это данные, которые я пытаюсь вставить:
INSERT INTO `frame_board_intra_board` (`bd_no`, `bd_order`, `bd_depth`, `bd_root`, `bd_parent`, `ca_no`, `bd_notice`, `userID`, `userName`, `userPass`, `userEmail`, `bd_secret`, `bd_title`, `bd_content`, `bd_html`, `bd_noBr`, `bd_regDate`, `bd_ip`, `bd_procedure`, `bd_hit`, `bd_vote`) VALUES
(1, 4294967195, 0, 1, 0, 0, '0', 'test', '테스터', 'mdOh3LqBW8ckU', '', '202cb962ac59075b964b07152d234b70', '인트라넷 게시판 테스트입니다.', '<P>인트라넷 게시판입니다.</P>', '', '', '2010-10-04 14:18:19', '124.137.28.78', 0, 6, 0);
Я использую mysql workbench при вставке в базу данных.
Ответ №1:
В некоторых базах данных размер символа имеет значение. Подозрительно, что вы вставляете «широкие» символы в varchar
поля to, но в MySQL это нормально.
Вместо этого проблема включена bd_html
. Этот столбец определен как принимающий '0'
и '1'
значения. Тем не менее, вы проходите ''
. Вы должны использовать либо NULL
или '0'
.
Комментарии:
1. я вижу. но когда я пытаюсь вставить иностранные / корейские символы в другие таблицы только с типом данных varchar, его вставка просто прекрасна. я не знаю почему.
2. но по умолчанию установлено значение «0» .. я не создавал эту базу данных. я просто переношу его. что мне делать?
3. @ChristianBurgos . . . Ах, теперь я понимаю проблему.
''
является пустой строкой. Это неNULL
так . ИспользуйтеNULL
явно.4. это сработало.. Спасибо! но вот проблема, что, если есть тонна записей? что мне теперь делать?
5. Возможно, вы можете выполнить глобальную замену
''
на ‘0″?