かもメモ

自分の落ちた落とし穴に何度も落ちる人のメモ帳

MySQL

Mac OSX High Sierra 開発環境セットアップのメモ (4) MySQL 8.0

1. MySQLのインストール HomebrewでMySQLをインストールする $ brew install mysql $ mysql --version mysql Ver 8.0.11 for osx10.13 on x86_64 (Homebrew) v8.011がインストールされました。 2. MySQLの環境設定 MySQLの起動 $ mysql.server start rootユ…

WordPress pre_get_posts・WP_Query 別々の条件で記事を取得したい

WordPressのWP_Queryやpre_get_postsアクション内で投稿を取ってくる時に、一緒にできない複数の条件(複数のSELECT文が必要な条件)で投稿を取得したいような時のメモ。 メインループ外の場合は2回WP_Queryを実行(SQLを発行)してそれぞれ取得したデータの配列…

WordPress MySQL 特定のカスタムフィールドの値が存在しない投稿を取得したい。

WordPressのデータベースでは、カスタムフィールドの値は{$pre_fix}postmetaテーブルに登録されます。 postmeta テーブル +------------+---------------------+ | Field | Type | +------------+---------------------+ | meta_id | bigint(20) unsigned | …

MySQL UNION それぞれのSELECT文で取ってきたデータを、それぞれでソート(ORDER BY)してくっつけたい。

MySQLで別々の条件(SELECT文)で取ってきたデータをそれぞれでソートして結合したい。 という事で、2回SQLを発行して取ってきたデータをマージしてしまえば実現できることなのですが、SQL1回で実現できないかと思い調べていて色々とハマったのでメモ。 テーブ…

PHP56 Macを再起動したらlibphp5.soが消えてapacheが起動できなくなった。

Macを再起動して普段通りapacheを起動しようとしたら次の様なエラーが表示されるようになってしまいました。先方の環境に合わせてPHP56です $ sudo apachectl start httpd: Syntax error on line 170 of /usr/local/etc/apache2/2.4/httpd.conf: Cannot load…

PHP PDO 複数条件(WHERE IN)にハマる

PHPのPDOで複数のidのデータをまとめて取ってくるとかで WHERE IN を使おうとしてハマったのでメモ。 配列のまま渡しても取得できない。 prepare($sql); $stmt->bindValue(':ids', $ids, PDO::PARAM_INT); $stmt->execute(); $res = $stmt->fetchAll(); var_…

Ruby mysql2のメモ

RubyでMySQLとデータのやり取りをしたいと思いました。 gemで探すとライブラリがヒマラヤ程たくさん出ててどれが良いのか良く解りませんでした。。。 こちらの記事を参考に、とりあえずmysql2を使ってみましたのでメモ データを取ってきてループして表示させ…

PHP PDO UPDATE時にそのまま値をインクリメント/デクリメントしたい。

前もって現在の値を取得しなくても、 UPDATEのSQLのSET節でインクリメントなら カラム名 = カラム名 + 1、デクリメントなら カラム名 = カラム名 - 1という形で記述すれば変更できる。 prepare($sql); // 略 特定のインクリメントに限らず特定の数の足し引き…

Homebrew MySQLをアップデートしたらmysql.sockが無くなってエラーが出るようになった。

HomebrewでMySQLを5.6.26にアップデートしました。 その後でmysqlを起動しようとした所下記のようなエラーが出るようになってしまいました。 $ mysql.server start ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.soc…

MySQL WHEREでnullのデータを検索条件にしたい

PHPのPDOでWHEREの検索条件をnullにしてsqlを発行したいと思い下記のようなSQLを作ってみました。 SELECT * FROM {$TABLE} WHERE {$COLUMN} = null; 残念ながらこれだと上手く取得できませんでした。 nullを検索条件にする時はis nullを使うと良いようです。…

heteml コマンドでmysqlに繋ぐ方法

hetemlサーバーにsshでアクセスしてコマンドからmysqlを使いたい時 $ mysql -u <アカウント名> -p ではパスワードが合っていてもエラーになりmysqlを使えません。少し長たらしいですが下記のコマンドでmysqlに繋ぐことが出来ます。 $ mysql -u <アカウント名…