2011年10月26日水曜日

text型はdefault値を設定できない。mysql エラー早見

MySQL 4.1 リファレンスマニュアル :: 12 MySQL のエラー処理 :: 12.1 返されるエラー
http://dev.mysql.com/doc/refman/4.1/ja/error-returns.html

すっかり忘れてましたが・・・、
mysqlにおいて、text型のカラムはdefault値を設定できないという設定になっております。
default値を設定しようとするとエラーになるという設定になっております。

本当にすっかり忘れてました。

ということで、どうしてもdefault値を設定したいなら、型をvarcharにしましょうということらしいです。
・カラム名の変更は以下のクエリで。
alter table テーブル名 change column 旧カラム名 新カラム名 型;

・ちなみにこれで、型も変更できます。
alter table テーブル名 change column カラム名 カラム名 変えたい型;

text型は多用せず、varchar型のほうがいいそうです。
text型を使うとすればレビューやコメントなどの長文だけにした方がいいそうです。

2011年10月24日月曜日

特定のカラムの値だけほしいselect カラム名 from テーブル名; をcriteriaで

select カラム名 from テーブル名 where id = 1;
の値をcriteriaで求めたいのだけど 
 
addDescendingOrderByColumnではないしgetNewCriterionでもないような、

2011年10月23日日曜日

symfony エラーとひどく残念なミスたち。焦らず頑張りましょう。

残念なミスが沢山。
あと、一週間。焦ってしまう。

Invalid configuration settings: [sf_error_404_module] "default", [sf_error_404_action] "error404"

404エラー 
原因:formHelper form_tagの記載ミス。 
 ×<?php echo form_tag("/アクション名","オプション") ?>
 ○<?php echo form_tag("モジュール名/アクション名","オプション") ?>
 

Configuration file "・・・・validate/Confirm.yml" is missing "methods" category

原因:validate/Confirm.ymlの記載ミス。
fields: を書き忘れ。

Too many forwards have been detected for this request・・・

無限ループですよというエラー。
原因: 
×public function handleErrorConfirm()
  {
     $this->forward('diary_add', 'confirm');
 } 
○public function handleErrorConfirm()
  {
     $this->forward('diary_add', 'index');
 } 
それは、無限ループになってしまいますよ・・・。 
 

[wrapped: connect failed [Native Error: Access denied for user・・・・ 

mysql > show grants for ×××@localhost;で確認。
・・・権限はある。

onfig/propel.iniの確認。
propel.database.createUrl  = mysql://×××:×××@localhost/
propel.database.url        = mysql://×××:×××@localhost/×××
・・・設定してある。


原因:onfig/databases.ymlの記載ミス
×   dsn:          mysql://×××@localhost/××

○   dsn:          mysql://×××:×××@localhost/××
・・・パスワード抜けてる・・・・。