
お世話になっております。
store_table 内にある 特定のkaiin_no ('123456','234567') で抽出して
デスクトップにsample.csvとして保存したいと思い
下記SQLをphpMyadmin で走らせたのですが文法エラーになります。
SELECT * FROM store_table WHERE kaiin_no IN ('123456','234567') into outfile 'c:/Users/pc/Desktop/sample.csv' fields terminated by ',' enclosed by '"' escaped by '"' lines terminated by '\r\n';
SQLの記載方法についてご教示頂けないでしょうか?
宜しくお願い致します。<(_ _)>
No.5ベストアンサー
- 回答日時:
>大事な情報が欠けていました。
PostgreSQL8.8.4を利用しています。おっと。
PostgreSQLなら、select into outfileが使えないですね。
でもPostgreSQLにバージョン8.8.4は存在しないような。
ご教示ありがとうございます。
情報が間違えておりました。申し訳ありません。
PostgreSQL 8.4.8
phpPgAdmin 3.5.3
でございます。
PostgreSQLなら、select into outfileが使えないとの事
色々調べたところ下記サイトを参照したところ
https://www.postgresqltutorial.com/export-postgr …
COPY (SELECT * FROM store_table WHERE kaiin_no IN ('123456','234567') ) TO 'C:\tmp\persons_partial_db.csv' DELIMITER ',' CSV HEADER;
で文法エラーが出ました。
そこでシンプルにWHERE kaiin_no IN ('123456','234567') を削除してテストしたら
ERROR: must be superuser to COPY to or from a file
HINT: Anyone can COPY to stdout or from stdin. psql's \copy command also works for anyone.
となりました。
スーパーバイザー権限の付与が必要との事。
付与の仕方はどうすればよいでしょう?
<(_ _)>
No.4
- 回答日時:
debian 10にmysql 8.0.25を導入して、下記CSV出力を試したら、問題なく実行されました。
SELECT * FROM user WHERE user IN ('root','mysql') into outfile '/var/lib/mysql-files/sample.csv' fields terminated by ',' enclosed by '"' escaped by '"' lines terminated by '\r\n';
文法エラーになるんだったら、へんな文字(全角空白とか)が混入してるのでは。

No.3
- 回答日時:
>LINE 1: ... store_table WHERE kaiin_no ('123456'
「IN」が無いからでは。質問文にあるので補足時の誤りかも。
ご教示ありがとうございます。
INを入れてもダメでした。
ERROR: syntax error at or near "into"
LINE 1: ...ore_table WHERE kaiin_no in ('123456','234567') into OUTFI...
^
大事な情報が欠けていました。
PostgreSQL8.8.4を利用しています。
<(_ _)>
No.2
- 回答日時:
ファイルでの出力権限が足りないのでは。
文法誤りでなく。エラーメッセージを補足したら、回答を得られるかも。
ご教示ありがとうございます。
エラー内容が 下記でして
ERROR: syntax error at or near "INTO"
LINE 1: ... store_table WHERE kaiin_no ('123456'。。。
でkaiin_noにチェックがありました。
Can't create/write to file ',,,, ではなかったのです。
<(_ _)>
No.1
- 回答日時:
ど素人です。
気になったのはそのフィールドのデータ形式は数値ではなく文字列なのでしょうか?
⇒先頭に 0 を付けたい時に文字列にする事もありますからそうなっている可能性も考えましたけど。
ご返信ありがとうございます。
特定のIDを検索して、その結果をCSVで書き出すことを考えています。
以下で抽出はできたのですが、CSV書き出しが出来ない状態です。
SELECT * FROM store_table WHERE kaiin_no IN ('123456','234567') ;
なので、該当するレコードの抽出となりますので数値と文字列が混ざっています。<(_ _)>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL SQLです。下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 「昨年の各月の総降 1 2023/07/01 00:32
- MySQL SQLです。こんな感じですか?あってますか? うまくいきません教えてくださいお願いします 1 2023/07/08 15:27
- Access(アクセス) アクセス 有効なフィールド名、または式として認識できませんのエラー 3 2022/08/19 11:53
- MySQL うまくいきません教えてくださいお願いしますSQLです。クエリ構文です。 1 2023/07/07 12:39
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
- Oracle SQLについて教えて下さい。 主キーを持ったカラムを主キーの機能を持たせたまま カンマ区切りで文字列 1 2023/03/27 22:47
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
- MySQL SQL任意に並び替えをしたい 2 2023/08/28 10:47
- PostgreSQL SQLで検索結果の記事を表示したい 1 2022/04/28 21:03
- 英語 L-PRF can be obtained by manual or automated metho 1 2022/04/08 09:39
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
MySQLのテーブル作成でハイフン...
-
mysqlのLOADでオートコミットオ...
-
LIMIT で条件を満たしているの...
-
MYSQLのデータに「;」を入力
-
mysqlがインストールされている...
-
VBAで変数内に保持された二次配...
-
MySQLカラム名は日本語と英数字...
-
エクセルで連勤チェックをした...
-
複数行のクエリを、まとめて実...
-
ODP.NETのバージョン確認
-
SQL文を文字型変数に格納し、EX...
-
「set names utf8」ですよね?
-
副問合せにLIKE文を使う方法は...
-
ユーザ追加して、パスワード無...
-
MySQLのリモート接続
-
検索で濁点や半濁点をヒットさ...
-
MySQLレコードの文字化けについて
-
ORACLE8iとAccess97
-
MySQL起動方法について
-
phpMyadminでのMySQLの文字セット
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テーブル作成でエラーが出てき...
-
MySQLのテーブル作成でハイフン...
-
LIMIT で条件を満たしているの...
-
MYSQLのデータに「;」を入力
-
phpMyAdminについて
-
MYSQLサービス停止時にWindows...
-
MySQL3→MySQL5にしたのですが、...
-
実行時エラー80004005
-
MySQL エラー Duplicate entry...
-
PHPからのLIKE検索ができません。
-
MySQLのCHECK制約がうまくいき...
-
SQLで抽出してCSVで書き出した...
-
mysql コマンドの--safe-update...
-
PHP Mysql エラー
-
order byの役割を知りたいです。
-
MySQLのエラーの取得
-
何がおかしいでしょうか?
-
参考書~「トリガを作成中」で...
-
MySQL+PHPのエラーについて
-
mysqlのLOADでオートコミットオ...
おすすめ情報