いちばん失敗した人決定戦

「さくら」のレンタルSVを利用しています。
そのSVのphpMyAdminで特定のレコードの検索方法について教えてください
phpMyAdminのバージョンは3.3.10.5となっています
テーブルはフールド数200程度、レコード数2000程度のDBがあります
その中から、ある特定のレコードを抽出して特定のフィールドのデータ
修正をしようとしています
phpMyadminにログインし該当のテーブルを指定してデータを全件表示します。
例えばフィールドが、a1,a2,a3,a4・・・とあったとします
a1に"abcde"があることを確認した後(試験のためで本来は必要なし)、
phpMyadminの検索メニューをクリックして検索画面に進みます

その画面でフールドa1のところに"abcde"を打鍵して「実行」ボタン
を押下したら、本来は該当のデータが出てくると思うのですがエラー画面がでます

内容は
実行したSQL:
select'a1','a2','a3'・・・・
from 'テーブル名'
where 'a1'=abcde
order by
limit 0,30
MySQLのメッセージ
#1064 - 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 'LIMIT 0, 30' at line 2

とこのようなメッセージがでます

ちなみに
次のSQLのselectの所を全て選択するのでなく*で記載すると該当のレコード
を抽出できます
select *
from 'テーブル名'
where 'a1'=abcde

phpMyAdminの検索画面の最下段にオプションがあり該当のフィールドを
1つ以上選択できる画面があるのですが、10件程度の選択なら抽出します
全件を選択したり20件だとエラーとなります
このオプションでの選択数は限度があるのでしょうか
あるいは、別に何か選択する方法があるのでしょうか

どなたか、上記の操作で検索ができるようにする方法を教えて
いただけませんか
よろしくお願いします。

A 回答 (1件)

状況がよくわからないのだけど、SQLを手で打っているので間違いない?




>select'a1','a2','a3'・・・・
>from 'テーブル名'
>where 'a1'=abcde
>order by
>limit 0,30

もし本当にこのまま打ってたら間違いだらけ
まずカラムやテーブル名を囲むならバッククォートを使ってください
またwhere句でabcdeで絞り込むのならabcdeはシングルクォートで括ってください
それとorder by をかくなら何らかのカラムを指定してください

たとえばこんな感じ

select `a1`,`a2`,`a3`・・・・
from `テーブル名`
where `a1`='abcde'
order by `a1`
limit 0,30
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!