mysqlのsqlスクリプトエラーについて
バージョンはmysql-4.0.14b-winです。
+ mysql-connector-java-3.0.8-stable-bin
昔、このsqlを実行したときはうまくいっていたのですが
最近実行すると以下のようなエラーがでます
バージョンのちがいがあるのでしょうか?
unique制約で引っかかっているみたいです。
<実行>
+----------------------------------------------+
| 1.MYSQLで以下のようにテーブルを作成しました。|
+----------------------------------------------+
C:\>mysql\bin\mysqladmin -u root -p CREATE user
Enter password: root
C:\>mysql\bin\mysql -u root -p user < c:\syain.sql
Enter password: root
<問題点>
以下のようなエラーがでましたERROR 1170 at line 8: BLOB column 'username' used in key specification without a
key length
<実行したsql文>
syain.sqlの内容は以下のとおりです。--
-- Host: localhost Database: user
---------------------------------------------------------
--
-- Table structure for table 'table1'
--
create table table1 (
id integer primary key,
username text not null unique,
password text not null,
idnumber text not null,
department text not null,
mail text not null,
extension text not null);
--
-- Dumping data for table 'table1'
--
--INSERT INTO table1 VALUES (1,'Peter','123456','1201','情報システム部','peter@it.planet.com','101');
INSERT INTO table1 VALUES (1,'Robert','abcdef','1202','情報システム部','robert@it.planet.com','102');
INSERT INTO table1 VALUES (1,'Mike','abcdef','1203','企画部','mike@pl.planet.com','201');
INSERT INTO table1 VALUES (1,'Celline','abcdef','1204','営業部','celine@mk.planet.com','301');
INSERT INTO table1 VALUES (1,'Akira','abcdef','1205','技術部','akira@tec.planet.com','401');
INSERT INTO table1 VALUES (1,'Eric','abcdef','1206','経理部','eric@ac.planet.com','501');
INSERT INTO table1 VALUES (1,'Rika','abcdef','1207','営業部','rika@mk.planet.com','302');
INSERT INTO table1 VALUES (1,'Diana','abcdef','1208','営業部','diana@mk.planet.com','303');
INSERT INTO table1 VALUES (1,'Britney','abcdef','1209','企画部','britney@pl.planet.com','202');
INSERT INTO table1 VALUES (1,'Takuya','abcdef','1210','技術部','takuya@tec.planet.com','402');
ご教授よろしくお願いします
お礼
早速の回答ありがとうございます。 >省略してDBに挿入する方法もありますけど 全然意味が分からないのですが・・・ 何を省略なのか。 もしかして main(name,comment)という部分ですか? つまり、テーブル名(フィールド名)としなくてはならないという意味でしょうか。 手元に4冊本がありますが、どれもそのような記述がなかったので、それが省略なのかどうかも分からないのですが。
補足
早速試したのですが、 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 ' と新たに追加したところでエラーが出ます。 普通に$nameなどのところを全て$をはずしただけなのですが。($をとったものが基本的にフィールド名になっています)