DRYな備忘録

Don't Repeat Yourself.

mysql

【MySQL】DEFAULT NULLと外部キー制約の同居

同居できるんかなと(ほんとはMariaDB) mysql> CREATE TABLE users ( id SERIAL, name VARCHAR(255) ); Query OK, 0 rows affected (0.01 sec) mysql> CREATE TABLE posts ( user_id BIGINT(20) UNSIGNED DEFAULT NULL, # ← あえてつける message VARCHAR(2…

docker-composeで Unknown MySQL server host 'localhost' とかなる現象

問題 だいたいどんなDBのイメージ使ってても、同じdocker-composeでサーバアプリケーションも一緒に動かそうとすると、いかのように叱られることがよくある。 Unknown MySQL server host 'localhost' べつにMySQLに限らない。MongoDBでもRedisでも、ありがち…

【Go言語】sql driverの違いによるCHARとVARCHARの挙動の違い【特にpostgresのlib/pq】

Go言語からSQLを使うときは Go言語からSQL(or SQL-like)データベースを使うときは、Go言語標準のsql - The Go Programming Languageが定めるinterfaceを実装したdriverを実際は使っています. たとえばdriverはここに列挙されてたりします. SQLDrivers - go-w…

PostgreSQLとMySQLのコマンドライン対応表置き場

見つけた。ここだ MySQL and Postgres command equivalents (mysql vs psql) | End Point Blog MySQL PostgreSQL memo msyql {dbname} psql -d {dbname} シェルから入るとき SHOW DATABASES \l USE {dbname} \c {dbname} SHOW TABLES \d SHOW CREATE TABLE {…

Go言語`database/sql`パッケージのplaceholderが効かない【小学生は最高だぜ】

問題 Go言語でMySQLを使う案件があったので、Goに標準のdatabase/sqlパッケージを使う(あとgithub.com/go-sql-driver/mysqlパッケージも)。問題はdatabase/sqlパッケージの*sql.DBが持ってるQueryメソッドがデフォルトで実装しているplaceholder機能を以下…

それでもローカルのMySQLが動かないときしたこと

まずまとめ この時はこれで動きました brewでmysql(他)を削除&再インストール databeseを作る→ mysql_install_db --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql 最終的にはこれ → sudo /usr/local/opt/mysql/bin/mysqld_safe & ログ (…

Can't connect to local MySQL server through socket '/tmp/mysql.sock'【MySQL】【MacOS】

mysqldが起動してない疑い大 mysqld start 「Can't connect to local MySQL server through socket」エラーについて 追記 2014/03/11 上記の方法だといろいろしかられる。特に [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use -…

INSERT時に Unknown Column とエラーが出る【MySQL】【PHP】

【問題】 INSERT INTO テーブル名 (キー名1、キー名2)VALUES(値1、値2); の文法に則っているにも関わらず、 Unknown column ' 値1 ' in 'field list' というエラーが出る。 【原因】 $command ="INSERT INTO member ( key1,key2 ) VALUES (".$_POS…