お世話になっております。
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 エラー Duplicate entry...
-
MySQLのエラーコード1064の見方
-
実行時エラー80004005
-
プログラミングの詳しい人へ
-
show warningsのファイル出力方...
-
aes_decryptでsyntax error
-
接続ができません
-
副問合せにLIKE文を使う方法は...
-
SQLのVARCHARとVARCHAR2の違い
-
プライマリーキーの昇順でソー...
-
like句を使って日本語を検索す...
-
Float型の時の計算結果がおかしい
-
AccessからOrcleのODBCリンクテ...
-
RPMのmysqlとmysql-serverの違い
-
DB内の日本語データがPHPで取得...
-
ERROR 1045 (28000) (using pas...
-
mysqlのsecure-file-privオプシ...
-
ODP.NETのバージョン確認
-
MySQLカラム名は日本語と英数字...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
MYSQLサービス停止時にWindows...
-
MySQLのテーブル作成でハイフン...
-
実行時エラー80004005
-
テーブル作成でエラーが出てき...
-
MySQL エラー Duplicate entry...
-
MYSQLのデータに「;」を入力
-
MySQL+PHPのエラーについて
-
LIMIT で条件を満たしているの...
-
show warningsのファイル出力方...
-
mysqlのLOADでオートコミットオ...
-
特定のSQLSTATE以外の例外処理...
-
SQLで抽出してCSVで書き出した...
-
LOAD DATA INFILE でエラー起き...
-
PHPからのLIKE検索ができません。
-
phpMyAdminについて
-
PHP Mysql エラー
-
MySQL のログ出力方法について ...
-
データベースについて質問させ...
-
接続ができません
-
SQLのVARCHARとVARCHAR2の違い
おすすめ情報