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

rails:2286

From: "Yoshiteru Negishi" <negishi@c...>
Date: Fri, 13 Jul 2007 14:35:07 +0900
Subject: [rails:2286] '0000-00-00 00:00:00'がデフォルトなカラムを持つテーブルへのINSERT

根岸と申します。
初めて質問させていただきます。

弊社ではシステムのRailsによる置き換えを先日より行っています。その過程で、社内で解決できない問題が出てしまったので是非ともご教示ください。

弊社のシステムではMySQLを選択し、一部のDateTime型のカラムではデフォルト値に"0000-00-00 00:00:00"が入っています。
そう言ったテーブルに対し、そのDateTime型のカラム以外のカラムを指定してINSERTをかけると、Railsがそのカラムに対してNULLをインサートしようとしてエラーがでてしまいます。
テーブル構造をなるべく変えずにこの問題を解決する手法をご教示いただけますでしょうか。

以下が詳細です。(テーブル名などはアテです)

テーブル構造
+------------+------------------+------+-----+---------------------+----------------+
| Field      | Type             | Null | Key | Default             |
Extra          |
+------------+------------------+------+-----+---------------------+----------------+
| ID         | int(10) unsigned |      | PRI | NULL                |
auto_increment |
| UserID     | int(10) unsigned |      |     | 0                   |
            |
| EnterDate  | datetime         |      |     | 0000-00-00 00:00:00 |
            |
| AcceptDate | datetime         |      |     | 0000-00-00 00:00:00 |
            |
+------------+------------------+------+-----+---------------------+----------------+


Railsのコード
     Table.create(
       :UserID => id,
       :EnterDate => Time.now
     )

発行されるSQL
INSERT INTO Table (`UserID`, `EnterDate`, `AcceptDate`) VALUES(0,
'2007-07-13 14:11:08', NULL)

-- 
根岸義輝

--
ML: rails@r...
使い方: http://QuickML.com/

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

->    2286 2007-07-13 07:35 [negishi@c...        ] '0000-00-00 00:00:00'がデフォルトなカラムを持つテーブルへのINSERT
      2287 2007-07-13 10:35 ┗[kyowa_t@k...        ]                                       
   @  2288 2007-07-13 12:32  ┗[negishi@c...        ]