- PR -

HSQLDBカラムサイズが無視される

1
投稿者投稿内容
ジャンボカレー
会議室デビュー日: 2003/05/26
投稿数: 17
投稿日時: 2005-07-19 14:39
HSQLDB1.8.0を使っています。
次のSQL文で作成したテーブルにカラムサイズを超えるデータをインサートしても
何もおこられません。カラムサイズの指定がまったく無視されている様にも見える
のですが、何か情報ご存知の方いらっしゃいませんか?

create table user (name char(5), age int)
insert into user values ('detarame' , 20)

■環境
J2SE 1.4.2_07
Win XP SP2
uk
ぬし
会議室デビュー日: 2003/05/20
投稿数: 1155
お住まい・勤務地: 東京都
投稿日時: 2005-07-19 16:54
HSQLDBはよく知りませんが、単に切り捨てられているだけではないですか。データがそのまま
登録されているかどうか確認しましたか?
MMX
ぬし
会議室デビュー日: 2001/10/26
投稿数: 861
投稿日時: 2005-07-19 17:06
Chapter 9. SQL Syntax
Data Types
http://hsqldb.org/doc/guide/ch09.html#datatypes-section
では
If a size is specified, it is stored in the database definition but is not enforeced by default. Once you have created the database (before adding data), you can add a database property value to enforce the sizes:

サイズが指定される場合、それはデータベース定義に格納されるが、デフォルトによってenforecedされません。
一旦データベース(データを加える前に)を作成したならば、サイズを強化するためにデータベース財産価値を加えることができます:

property value も与える とか(私は知りませんが)
今川 美保(夏椰)
ぬし
会議室デビュー日: 2004/06/10
投稿数: 363
お住まい・勤務地: 神奈川県茅ヶ崎市
投稿日時: 2005-07-19 17:22
http://hsqldb.org/doc/guide/ch02.html#N10499
http://hsqldb.sourceforge.net/doc/changelist_1_8_0.txt

このような情報もあるので、試してみてもらえたら幸いです。
(自分の環境で実験できないもので)
ジャンボカレー
会議室デビュー日: 2003/05/26
投稿数: 17
投稿日時: 2005-07-20 09:44
解決したので、報告します。
webserver.propertiesファイルを用意し、以下の一行を追加します。
それをHSQLDBの起動コマンド実行ディレクトリに配置したところうまくゆきました。

sql.enforce_strict_size=true

ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)