[前][次][番号順一覧][スレッド一覧]

mysql:13211

From: Seiichirou Hiraoka <Seiichirou Hiraoka <flathill@xxxxxxxxxx>>
Date: Fri, 04 Aug 2006 23:31:42 +0900
Subject: [mysql 13211] 4.0.20 から 4.1.20 への更新について

はじめまして、平岡と申します。

Solaris 9 SPARC 上で MySQL 4.0.20 を利用しております。
この度、4.1.20 に更新すべく調査を行なっておりますが、不明な
点がございますので御教示頂けますと幸いですl。

CHAR の扱いが変わると言う事で、インストール後に

  http://www.mysql.gr.jp/frame/modules/bwiki/?Contrib#content_1_2

にて提供されている ALTER_change_char_len.sh を実行しようと
しておりますが、うまく動作致しません。

具体的には

  ./mysql_change_char_len.sh --fix --user=Username --password=Password

のように実行すると以下のようなメッセージが出力されます。

  ----- mdl_grade_category : 7 -----
        C: mdl_grade_category CREATE TABLE mdl_grade_category (  id
int(10) unsigned NOT NULL auto_increment,  name varchar(21) default
NULL,  courseid int(10) unsigned NOT NULL default '0',  drop_x_lowest
int(10) unsigned NOT NULL default '0',  bonus_points int(10) unsigned
NOT NULL default '0',  hidden int(10) unsigned NOT NULL default '0',
weight decimal(4,2) default '0.00',  PRIMARY KEY  (id),  KEY courseid
(courseid)) ENGINE=MyISAM DEFAULT CHARSET=ujis -> CREATE TABLE
mdl_grade_category ( id int(10) unsigned NOT NULL auto_increment, name
varCHAR(65) default NULL, courseid int(10) unsigned NOT NULL default
'0', drop_x_lowest int(10) unsigned NOT NULL default '0', bonus_points
int(10) unsigned NOT NULL default '0', hidden int(10) unsigned NOT
NULL default '0', weight decimal(4,2) default '0.00', PRIMARY KEY
(id), KEY courseid (courseid)) ENGINE=MyISAM DEFAULT CHARSET=ujis

    ALTER TABLE mdl_grade_category  CHANGE mdl_grade_category
mdl_grade_category CREATE TABLE mdl_grade_category ( id int(10)
unsigned NOT NULL auto_increment, name varCHAR(65) default NULL,
courseid int(10) unsigned NOT NULL default '0', drop_x_lowest int(10)
unsigned NOT NULL default '0', bonus_points int(10) unsigned NOT NULL
default '0', hidden int(10) unsigned NOT NULL default '0', weight
decimal(4,2) default '0.00', PRIMARY KEY (id), KEY courseid
(courseid)) ENGINE=MyISAM DEFAULT CHARSET=ujis

ERROR 1064 (42000) at line 1: 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 'CREATE TABLE mdl_grade_category ( id int(10)
unsigned NOT NULL auto_increment, n' at line 1

全てのテーブルについてこれと同じメッセージが出力されます。

念の為、手動で mysql に接続して同じ SQL 文を発行しても同じメッセージ
が出力されますので、SQL 文の誤りかと考えておりますが、どなたかお気づき
の点はございますでしょうか。

ちなみに、手動で

  /ul/mysql/bin/mysql -u Username -p -N Database -e "ALTER TABLE mdl_grade_category MODIFY name varchar(63)" ;

のようにすると

|          name |      varchar(63) | YES |     | NULL |

のように正しく反映されます。

これは、スクリプトで記述している SQL 文の問題でしょうか。もしくは
当方の環境や操作に問題がございますでしょうか。

全てのテーブルを手動で反映するのは時間がかかり、またミスが発生する
可能性が高い為スクリプトを利用したいと考えております。

以上、よろしくお願い致します。

- flathill

[前][次][番号順一覧][スレッド一覧]

->   13211 2006-08-04 23:31 [Seiichirou Hiraoka <] 4.0.20 から 4.1.20 への更新について     
     13212 2006-08-05 13:14 ┗[Seiichirou Hiraoka <]