はい!今やってます!

Work Pertly, Live Idly

SQL

Duplicateエラーが出る場合の対処法

MySQLでKey Duplicateのエラーが出る場合、 INSERT ... ON DUPLICATE KEY UPDATE の構文を使えば解消出来る場合がある。 INSERT INTO ${table_name} (a, b, c) VALUES (1, 12, 123) ON DUPLICATE KEY UPDATE b = 22, c = 223; 参考 https://dev.mysql.com/do…

直前に投げたSQLの結果件数を取得するSQL

Limit句に関係無く、検索対象の全件数を返してくれる。 SELECT SQL_CALC_FOUND_ROWS * FROM ${table_name} LIMIT ${limit_count}; SELECT FOUND_ROWS(); 全〇〇件中 とか表示したい時に便利

メールアドレスのドメイン部分を一括で置換するSQL

メールアドレスのドメイン部分を一括で置換する UPDATE `test_user` SET `email` = CONCAT( LEFT( `email`, INSTR(`email`, '@') ), 'test.com' ) WHERE `email` NOT LIKE '%@test.com';