カテゴリー: MySQL
2015年01月30日
MySQL5.6からMySQLをコマンドラインで操作する際にパスワードの記述があると
「Warning: Using a password on the command line interface can be insecure.」
とWarningエラーが発生するようになったので

[client]
user = *UserName*
password = *PasswordPhrase*
host = *HostName*

という内容の設定ファイルを任意のファイル名で用意し

mysql --defaults-extra-file=*file_path* *TableName* [Other]

と読み込むようにすると良い
カテゴリー: MySQL
2014年08月13日
【概要】
カラム「position」の値の順に表示させているデータに対し任意のレコードの表示位置を変更する。

【例】
五十音順に表示させるためにpositionの値を使って制御している環境下において
「田中→高野→高橋」の順番になっているのを「高野→高橋→田中」の順に変更する

row_id name position
1 斉藤 1
2 田中 2
3 高野 3
4 高橋 4
5 渡辺 5



row_id name position
1 斉藤 1
2 田中 4
3 高野 2
4 高橋 3
5 渡辺 5

» 続きを読む
カテゴリー: MySQL
2014年08月13日
WHERE
`created` > CURRENT_TIMESTAMP + INTERVAL - 10 minute;
カテゴリー: MySQL
2014年08月08日
FLOOR( 最小の値 + (RAND() * (最大の値-最小の値+1)) )

5~10の間の数値をランダムに取得したい場合は

FLOOR( 5 + (RAND() * (10 - 5 + 1)) )
カテゴリー: MySQL
2014年08月07日
mysqlcheck -u*** -p -a *db_name* [*table_name*] で解析(analyze)
mysqlcheck -u*** -p -o *db_name* [*table_name*] で修復(opitimize)
-o でダメな場合に REPAIR TABLE *table_name* を発行すると直る場合も

【実際にあった例】
ファイル丸ごと移設したDBでエラーが発生
→WinSCP上の所有者はmysqlになっているが、F9で権限を確認すると所有者が空欄になっていた
→再度所有者をmysqlに設定し直しrepairを試みたら成功
カテゴリー: MySQL
2014年08月07日
SET
@i := 0;

UPDATE
`table`
SET
`order` = (@i := @i + 1)
WHERE
`id` IN (
SELECT
`id`
FROM
(
SELECT
id
FROM
`table`
WHERE
`column` = 1
ORDER BY
`date`
) AS `tmp`
)
ORDER BY
`order`;