2017年3月11日土曜日

MySQLでauto_incrementを追加。

MySQLですでにあるtableのカラムに、auto_incrementを追加しようとしてerrorが出て悩まされました。

以下のページが参考になりました。多謝。
http://blog.doli.jp/blog/2012/post509/

まずはadd primary key(id)をして、
そのあと、modifyではなくてchangeでカラム名から作り変える形なのですね。
カラム名を変えなくても。

勉強になりました。

2015年5月2日土曜日

FuelPHPのタイムゾーン設定

以下のようなエラーが、FuelPHPのインストールで表示。MAMP環境。
Error - date_default_timezone_get(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone. in COREPATH/classes/fuel.php on line 167
ググって、

fuel/app/config/config.phpのなかでdefault_timezoneを以下のように設定変更すればOKに。
'default_timezone' => 'Asia/Tokyo',

2013年12月28日土曜日

MySQLで文字列置換を行う場合のメモ。


MySQLで文字列置換を行う場合のメモ。
update table_name set col_name = replace(col_name,'置換される文字列','置換後の文字列');
上手く行って良かった。


2012年3月7日水曜日

MySQLで日付をwhere文に使う場合、シングルクオーテーションを。

MySQLで、日付に関してのwhere句を使う場合、
シングルクオーテーションを忘れてはいけない、ということを学習。

http://imacro.hamazo.tv/e1764611.htmlで勉強になりました。
感謝m(_ _)m

以下、引用文で。

MYSQL にて日付の範囲指定をする場合は、

日付のところにシングルコーテーションを付けるのを忘れないようにする。

$sql = "select * from XXTABLE where HIDUKE >= '2009-7-1' and HIDUKE < '2009-8-1'"; 上の例は2009年7月のデータを抽出しろ という意味合い。

2011年2月13日日曜日

SQLiteのフィールド型定義順

SQLiteで引っかかったことのメモです。

■INTEGERなどの型宣言(厳密な型宣言にはなりませんが)は、フィールド名の後に。

たとえば、
CREATE TABLE tbl (id INTEGER PRIMARY KEY,field_name,edit_date);
といったような。

変数名と型を宣言するノリで、INTEGER id という順番の指定をしてしまい、フィールド名が「INTEGER」になってしまってました。。。orz

2011年2月8日火曜日

sqliteをコマンドラインで。(手軽で楽しいすね)

sqlite3をコマンドラインでいじると,とても楽しいことを知りました。

これまでコマンドラインは若干ハードルを覚えていましたが、
思いの外気軽なもので、実験するにはもってこいだな、と。

特にSQLiteが気軽に使うにはもってこいですね。

DB学習の最初には、SQLiteは楽しめていいかな、と思いました。
(型が厳密でないことも、最初はおいておいて、単に操作言語だけ覚えるにはもってこいで。insert ,select,updateなど)

自分は最近Macを使い始めたので、よりコマンドラインが身近になりました。

**************************

macだと、terminalを開いて、
「sqlite3」と入力するだけで起動してくれます。(「sqlite」ではなく「sqlite3」とする必要がありました。sqliteだけだとエラーが出る。2と3が同じSQLiteでも違うからですね)

単にsqlite3ではなく、
データベース名も一緒に「sqlite3 sample.db」みたいに入力すれば、
そのDBファイルがあればそのファイルが開かれ、
なければ作られてしまう(!)という手軽さ。
これがいいですね。

それで
create table hoge(a,b);
とすれば、これだけでテーブルも作れてしまう。。
型も設定せず。。。
手軽すぎますね。

このテーブルに
insert into hoge values(100,200);
なんてすれば、これまた値も追加でき、
select * from hoge;
なんてすれば
「100|200」なんて表示もしてくれます。

SQLite3は、コマンドラインで遊んで、一通り値の追加や削除、選択方法などを覚えてしまうと、
SQL言語が初めての人でも楽しく学べそうです。

ありがたや。。

これがパブリックドメインで無料でどうとでも使え、
かつ、ファイルをコピーすればバックアップもとれ、
いろいろな用途やプラットフォームで使えるのだから、ありがたいものです。

**************************

以下、ご参考までですが、
自分が一番SQLite関連で気に入った本です。

「持ち運びやすい。」
「網羅的である。」
「基礎からわかるよう,平易に書かれている。」
そんな点で気に入りました。
電車でも気軽に読めます。

2011年1月25日火曜日

instanceof

instanceof は、特定のクラスであるかどうかを判別する「型演算子」とのこと。
なるほど。


http://php.net/manual/ja/language.operators.type.php