MySQL

my.iniのsecure-file-priv / MySQLをWindowsで使う ファイルを書き出したり

投稿日:

インストールしたデフォルトの状態だとmy.iniのsecure-file-privの問題で、書き出しがうまくできない可能性があります。

my.iniはここにあります。(環境により、異なる可能性あり)

私はデフォルトの記述をコメントにして、下記のように書き換えました。

# Secure File Priv.
#secure-file-priv="C:/ProgramData/MySQL/MySQL Server 8.0/Uploads"
secure-file-priv=""

以下、Windowsにて使用の場合。

コマンドは下記のように打ってファイルに出力。c:\ といった書き方はしない。

mysql> select * from 01db.01work into outfile '/work0401/data0401.txt';

列名を変える

列名を変える時は、型を指定しないとうまくいかない模様。最初のコマンドはdateを指定しなかった。

mysql> ALTER TABLE 01db.01work CHANGE 日付 締め切り日;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
mysql> ALTER TABLE 01db.01work CHANGE 日付 締め切り日 date;
Query OK, 0 rows affected (0.01 sec)
Records: 0  Duplicates: 0  Warnings: 0

列を追加して前へ

mysql> ALTER TABLE 01db.01work ADD 案件キー VARCHAR(100);

これだと最後に追加されるので、移動させる。

+------------+------------+------+----------+
| 締め切り日 | カテゴリー | 内容 | 案件キー |
+------------+------------+------+----------+
| 2019-04-01 | NULL       | NULL | NULL     |
+------------+------------+------+----------+
mysql> ALTER TABLE 01db.01work CHANGE 案件キー 案件キー VARCHAR(100) AFTER 締め切り日;
mysql> ALTER TABLE 01db.01work CHANGE 締め切り日 締め切り日 date AFTER 案件キー;

そうすると、下記のようになる。

+----------+------------+------------+------+
| 案件キー | 締め切り日 | カテゴリー | 内容 |
+----------+------------+------------+------+
| NULL     | 2019-04-01 | NULL       | NULL |
+----------+------------+------------+------+

データの更新

mysql> UPDATE 01db.01work
SET 案件キー =  '20190401_01'
WHERE 締め切り日 = '2019-04-01';

-MySQL

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

関連記事はありませんでした