問題となりそうなSQL文はこれです。
INSERT INTO TEST(ID,TITLE,ARTIST) SELECT * FROM ( SELECT 'id001' AS ID, 'タイトル1' AS title, 'アーティスト1' AS ARTIST FROM Dummytbl UNION ALL
SELECT 'id002' AS ID, 'タイトル2' AS title, 'アーティスト2' AS ARTIST FROM Dummytbl UNION ALL
SELECT 'id003' AS ID, 'タイトル3' AS title, 'アーティスト3' AS ARTIST FROM Dummytbl UNION ALL
・・・(繰り返し)
FROM Dummytbl(ダミー用のテーブル) ) AS insertDummy
シングルクォーテーションで囲まれた部分はPHPでtrimを行っており、実際の表示をしてみても何もありません。
ですが、ACCESS(.mdb)にPHPから以上のSQL文を発行してデータの新規作成すると、
なぜか末尾に多くの空白が入ります。
PHPは"eucJP-win"を内部エンコードに指定してあるので、
SQL文を"SJIS-win"にエンコード変換(mb_convert_encoding)してから、発行します。
他PHPプログラムの場合このSQL文は変化もなく、空白が入ることもなく
とても良く動いています。
しかし、今回、問題になっているプログラム上だけデータがおかしくなってしまっています。
他プログラムと違う場所はテーブルTESTはPHPプログラム内部から、
SQL文によって作成されるということです。あとはほとんどコピペですので、
違いはないと思います。
CREATE TABLE TEST
(
ID CHAR(25) ,
title CHAR(50) ,
artist CHAR(50)
)
私に見落としがあることは確かなのですが、
見つけられません。
どなたか、原因になり得ることをご教示下さい。
No.1ベストアンサー
- 回答日時:
テーブル作成時の各項目のデータ型が原因だと思います。
char型だと「テーブル作成時に指定した桁数」分のデータが格納されます。
今回のようにinsertしたデータの桁数分だけを格納するなら varchar にしてください。
ありがとう御座います。そのとおりでした。
今は.mdbに合わせtext型に変更しています。
char型だと桁数分必ず確保してしまう、
またそのような場合はvarchar型でも有効的な使用が出来るということで、
とても勉強になりました。
text型より一般的なようですのでvarchar型で試します。
また機会があればよろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) アクセス 有効なフィールド名、または式として認識できませんのエラー 3 2022/08/19 11:53
- PostgreSQL 画像とカテゴリーを出力したいのですが、取得の条件を付ける方法がわかりません。 2 2022/05/01 18:03
- PHP コメント機能に返信欄を矢印で追加したい 1 2022/05/09 21:17
- MySQL SQLです。下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 「昨年の各月の総降 1 2023/07/01 00:32
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- MySQL 書籍の内容はまともでしょうか? 1 2023/01/22 03:07
- MySQL 次の時間帯の勝率の合計を求めるSQL文 1 2023/07/04 17:12
- MySQL SQLです。こんな感じですか?あってますか? うまくいきません教えてくださいお願いします 1 2023/07/08 15:27
- PostgreSQL SQLで検索結果の記事を表示したい 1 2022/04/28 21:03
- PHP アコーディオンPHPが上手くいかない 3 2022/07/15 16:29
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで最後の文字だけ置き...
-
SQLサーバから、項目の属性(型...
-
SQL Left Join で重複を排除す...
-
副問合せの書き方について
-
エクセルの関数について教えて...
-
accessに対してSQL文を発行する...
-
SQLにて特定の文字を除いた検索...
-
VIEWの元のテーブルのindexって...
-
PL/SQLの変数について
-
URL と行番号の指定
-
min句のSQLを改造し二番目に小...
-
少し前に放送されていたオムツ...
-
Updateの複数テーブル条件時のL...
-
複数テーブルのGROUP BY の使い...
-
テーブル名を省略して「h.id」...
-
MySQLのint型で001と表示する方...
-
MySQLでvarcharに先頭ゼロをセ...
-
別テーブルからSELECTした値を...
-
DB設計について
-
LEFT JOIN と GROUP BY
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで最後の文字だけ置き...
-
SQL Left Join で重複を排除す...
-
SQLサーバから、項目の属性(型...
-
副問合せの書き方について
-
VIEWの元のテーブルのindexって...
-
エクセルの関数について教えて...
-
SQLにて特定の文字を除いた検索...
-
マイクラPC版のコマンドで効率...
-
select文のwhere句に配列を入れ...
-
sqlで、600行あるテーブルを100...
-
ある条件の最大値+1を初番する...
-
inner joinをすると数がおかし...
-
Unionした最後にGROUP BYを追加...
-
期間の重複を調べるSQL文につい...
-
クエリ表示と、ADOで抽出したレ...
-
Access パラメータクエリをcsv...
-
PL/SQLの変数について
-
MySQLのDATE型カラム値がNULLの...
-
php+mysqlで複数選択削除について
-
上位3位を求めるSQL文は?
おすすめ情報