以下のSQL文の間違いがわかりません
MySQL5.5.9(RHEL)なのですが、以下のSQL文の間違いがわかりません。
どなたかオシエテいただけませんでしょうか?
SQL
=================
CREATE TABLE IF NOT EXISTS `seo` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`parentid` bigint(20) unsigned NOT NULL,
seq decimal(10,5) unsigned NOT NULL,
`urlpath` varchar(64) CHARACTER SET utf8 NOT NULL,
`breadcrumbs` varchar(64) CHARACTER SET utf8 NOT NULL,
`h1_title` varchar(64) CHARACTER SET utf8 NOT NULL,
`keyword1` varchar(128) CHARACTER SET utf8 NOT NULL,
`keyword2` varchar(128) CHARACTER SET utf8 NOT NULL,
`keyword3` varchar(128) CHARACTER SET utf8 NOT NULL,
`description` varchar(128) CHARACTER SET utf8 NOT NULL,
`updatetime` datetime NULL,
`en_urlpath` varchar(64) CHARACTER SET utf8 NOT NULL,
`en_breadcrumbs` varchar(64) CHARACTER SET utf8 NOT NULL,
`en_h1_title` varchar(64) CHARACTER SET utf8 NOT NULL,
`en_keyword1` varchar(128) CHARACTER SET utf8 NOT NULL,
`en_keyword2` varchar(128) CHARACTER SET utf8 NOT NULL,
`en_keyword3` varchar(128) CHARACTER SET utf8 NOT NULL,
`en_description` varchar(128) CHARACTER SET utf8 NOT NULL,
`en_updatetime` datetime NULL,
`multi_version` init(10) unsigned NOT NULL,
`multi_flag` smallint(6) NOT NULL DEFAULT '1',
`multi_memo` text CHARACTER SET utf8,
UNIQUE KEY `id` (`id`),
UNIQUE KEY `urlpath` (`urlpath`),
UNIQUE KEY `h1_title` (`h1_title`),
UNIQUE KEY `keywords` (`keyword1`,`keyword2`,`keyword3`)
UNIQUE KEY `description` (`description`)
UNIQUE KEY `en_urlpath` (`en_urlpath`),
UNIQUE KEY `en_h1_title` (`en_h1_title`),
UNIQUE KEY `en_keywords` (`en_keyword1`,`en_keyword2`,`en_keyword3`)
UNIQUE KEY `description` (`en_description`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
========================================
エラーメッセージ(phpmyadmin)
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'init(10) unsigned NOT NULL, `multi_flag` smallint(6) NOT NULL DEFAULT '1', ' at line 23
=====
よろしくお願いします。
お礼
salsberryさん、レスどうもです!! >Windows-31JのデータをUTF-8のデータだと思って処理したら化けるのは当然です。 この説明すごく分かりやすかったです。 で、次の、 >- CSVファイルから読み込んでStringにするときにWindows-31Jであることを指定する >- Stringの内容をデータベースに書き出すときにUTF-8であることを指定する が大変ヒントになりました^^v えーと、このメソッド呼ぶ前に、 CSVReader reader = new CSVReader( new InputStreamReader( part.getInputStream(), "Windows-31J" ) ); こんな感じでやってたので、 RepTest rep = new RepTest(); rep.setRepId( nextLine[0] ); rep.setRepNameKana( nextLine[1] ); rep.setRepName( nextLine[2] ); まずは、こんな感じに、getBytes外しました。 で、DBに書く方は、 jdbc:mysql://localhost:3306/hogehoge?useUnicode=true&characterEncoding=UTF-8 ってPoolの設定したら出来ました~^^v やった~! 大大感謝ですm(__)m