2012-03-22 16 views
0
CREATE TABLE `db`.`Complete` (

`CompleteId` MEDIUMINT(8) NOT NULL AUTO_INCREMENT PRIMARY KEY , 
`HoursTaken` DOUBLE(5) NOT NULL , 
`DateFinished` DATETIME NOT NULL 
) ENGINE = MYISAM 

は、しかし、私はエラーを取得します。上記のコードは、のコードで、MySqlデータベースのUIでを生成したものです。自動生成作成からのMySQLの構文エラー

私はこのエラーを取得する:

#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 ') NOT NULL , 
`DateFinished` DATETIME NOT NULL 
) ENGINE = MYISAM' at line 4 

は私が変更になるかわからないです。

+0

mysqlは何のUIを持っていません。その作成ステートメントをダンプするのにあなたは正確に何を使いましたか? 'show create table ...'は、フィールドサイズの部分の周りにスペースを入れません。例えば'mediumint(8)'ではなく 'mediumint(8) 'を生成します。 –

+1

@Marc B - MySQL WorkbenchまたはPHPMyAdminが可能ですか? – Buggabill

+1

@MarcB - Starfield Technologiesが生成したスクリプトです。 MySqlにはデフォルトのUIはありませんが、それはUIのUIが存在しないという意味ではありません。確かにそれはあなたが示唆しているものではありません。 –

答えて

4

DOUBLEデータ型に精度を追加する必要があります。それはDOUBLE(5,n)と思われます。

+0

これは事実かもしれませんが、問題は間違いなくDOUBLEの定義にありました。代わりにfloatを使用して問題を解決しました。 –

0

私は、これは生成されたコードだった、floatを使用しての代わりに、二重のことで、これを解決:

CREATE TABLE `db`.`Complete` (
`CompleteId` MEDIUMINT(8) NOT NULL AUTO_INCREMENT PRIMARY KEY , 
`HoursTaken` FLOAT NOT NULL , 
`DateFinished` DATETIME NOT NULL 
) ENGINE = MYISAM 
関連する問題