[symfony]Unable to execute INSERT statement. [wrapped: SQLSTATE[23000]: Integrity constraint violation: 1048 Column ‘id’ cannot be null]

カテゴリ: php,symfony / author: uechoco / 2009年02月18日 22:19:04
この記事を読む時間:15くらい

参照整合性のエラーとか、聞いたことがない。symfonyでモデルクラスを使ってテーブルにsave()すると表題のようなエラーで動いてくれない。ソースコードを疑ったが、どこにも悪いところがない。あとはもうDBだけかとおもってDBDesignerを見直してみると罠があった。該当のテーブルのidカラムのAUTO_INCREMENTのチェックが外れていた。

当然このDBDesignerの設計図から吐き出されるSQLも意図していないものなので、リバースエンジニアリングしてschema.ymlを作ったymlも知っていたはず。ところが、自分でschema.ymlを書き換えて、各テーブルのid属性の値を消してしまったので、symfonyが普通のidカラムだと思って、モデルを作ってしまったようだ。

たぶん、ご操作でたまたまAUTO_INCREMENTのチェックが外れてしまったんだと思うが、このチェックが外れていたおかげで実に2時間を浪費してしまった。なんたる失態。


コメントはまだありません »

コメントはまだありません。

この投稿へのコメントの RSS フィード。 TrackBack URI

コメントする

Copyright © 2012 うえちょこ@ぼろぐ. WP Theme created by Web Top.