0

重複の可能性:
フィールド名の前後にバックティックを使用する バック
ティックとシングル クォーテーションの違いは何ですか? 上記のクエリで IF ステートメントを使用できますか?

SQLクエリで発生した問題を理解するのに長い時間を費やしましたが、他のトピックに関する情報が見つからないように見えるため、さらに情報が必要でした.

問い合わせがありました

INSERT INTO prep_items ('id' ,'description' ,'price' ,'gst' ,'job' ,'stores' ,'item_number' ,'decimal') 
VALUES ('NULL', 'TESTPRODUCT', '22.99', '1', 'PK', 'AB', '666', '1'
);

ただし、これはクエリで構文エラーを返し続けました。しばらく頭を悩ませ、データベースに挿入するためにphpmyadminが生成するクエリとクエリを比較した後、フィールド名のアポストロフィが実際にはチルダ(〜)と同じキーの記号であることに気付きました。

2つのシンボルの違いは何ですか? また、` は ' (アポストロフィ) ではなくどこで使用する必要があります。

前もって感謝します。

(また、値リストで ''s を '' に変更すると、unknown collumn 'valuename' というエラーが表示され、列リスト専用であると思われることに気付きましたが、どこで詳細情報を見つけることができますか?)

再度、感謝します

4

1 に答える 1

2

バックティックは、テーブル名や列名などの識別子`を引用します。通常、識別子を引用することはオプションですが、名前に特殊文字 (スペースなど) が含まれている場合や、名前が予約語 ( など) である場合は必要です。desc

SELECT id, `desc` FROM yourtable

一重引用符は文字列リテラル'を区切ります。

SELECT * FROM yourtable WHERE name = 'Foo'
于 2012-10-03T09:56:41.223 に答える