読者です 読者をやめる 読者になる 読者になる

min117の日記

初期desireもち。趣味Mac,メインFedora,仕事xp。

MySQL(MariaDB) で 体重記録管理システム

bash Linux oracle DB

 

iPhoneから体重計の画像と体重数値を入力して送信→fedoraPHPで、MySQLに格納する簡易体重記録システム。

f:id:min117:20161221002922p:plain

ソース。

f:id:min117:20161221000118p:plain

こないだまで動いてたのに、突然23行目のエラーに入るようになった。なんでかなと思ったら、15行目(黄色部分)でエラーになっていた。そういえばidフィールドに一意制約を入れたんだった。

f:id:min117:20161221000333p:plain

idフィールドを自動カウントアップにしないといけない。Auto Increment って MySQL でどうやるんだ。調べる。

ーーー

調べた。

mysql> ALTER TABLE tbl_test02 CHANGE id int(11) AUTO_INCREMENT;

→ エラー。黄色いとこが間違い。

mysqlselect * from tbl_test02;

f:id:min117:20161221001521p:plain

「idを、id int(11) にする」なので「id id int(11)」が正しい。

f:id:min117:20161221001735p:plain

またエラーになった。赤線部分がおかしい。idフィールドに0のものがあるので怒られたようだ。update文で、idが0のを11に変えちゃえ。

mysql> update tbl_test02 set id=11 where id=0;

f:id:min117:20161221001845p:plain

分かりにくいけど、黒文字で「Query OK」が返ってきている。mysqlMariaDB)の応答コンソール文字列の色、せめて白っぽくしてほしい。見えない。

mysql> select * from tbl_test02;

mysqlALTER TABLE tbl_test02 CHANGE id id int(11) AUTO_INCREMENT;

f:id:min117:20161221002000p:plain

試してみる。

iPhoneからソースphpを開く→「ファイルを選択」から、投稿画像を選択。

f:id:min117:20161221002959p:plain  f:id:min117:20161221003035p:plain

「送信」でサーバに送ってから、MySQLに格納されたか確認。

f:id:min117:20161221003225p:plain

完璧。12行目ができてる。AUTO INCREMENT でidがカウントアップされてるのも確認。