QUESTION (SQ1108109)
INSERT文を実行した際に、デフォルト値を GLOBAL AUTOINCREMENT として定義したカラムでエラーが起こりました。
「テーブル 'xxx' のカラム 'yyy' を NULL にすることはできません」
(SQLCODE=-195、 ODBC 3 状態="23000")
ANSWER
原因:
データベース・オプションの global_database_id オプションがデフォルト値(2147483647)であるとき、カラムの値に GLOBAL AUTOINCREMENT を定義されていた場合、グローバル・オートインクリメント値を生成しようとすると、そのカラムにはNULLがセットされます。
この為、NULLを受け付けないカラムでは、上記のエラーが発生します。
(NULLを許可しているカラムではNULLがセットされます。)
対処方法:
global_database_idオプションにデフォルト値以外の値(例えば 0)を設定してください。
詳細につきましては以下のオンラインマニュアルをご参照下さい。
SQL Anywhere サーバ - データベース管理 >> データベースの設定 >> データベース・オプション >> データベース・オプションの概要 >> アルファベット順のオプション・リスト >> global_database_id オプション [データベース]
|