ホームページ >データベース >mysql チュートリアル >mysql ステートメントにバッククォートを追加する必要があるのはなぜですか?
MySQL ステートメントでは、バッククォート (``) がよく登場します。最初は、これが何を意味するのかわかりませんでした。
Select * from `member` order by posts desc limit 0,10;
MYSQLの予約語を通常の文字と区別するために導入された記号です。
例: SELECT `select` FROM `test` WHERE select='フィールド値'
テストテーブルには、バックティックが使用されていない場合、選択フィールドがあり、MYSQL は選択を次のように扱います。予約語はエラーの原因となるため、 にフィールドとして MYSQL 予約語がある場合は、 を区別するためにバッククォートを追加する必要があります。
フィールド値が文字または文字列の場合は、select='field value'のように引用符
を追加する必要があります。
バックティック マークなしで構築されたテーブルには、MYSQL 予約語を含めることはできません。そうでない場合は、エラーが発生します
バックティック マーク `、数字 1 の左側の記号。
テーブル名には予約語を使用できません。区別するにはバッククォートを追加する必要がありますが、テーブル名を使用する場合はバッククォートを無視できます。
テーブル記述の作成エラー
テーブル`desc`の作成に成功
テーブル`test`の作成に成功
ドロップテーブルテストに成功
フィールド名には予約語は使用できません , たとえば、descの場合はこの時にバッククォートも追加する必要がありますし、insertなどを使用するときにもバッククォートを追加する必要があります。
テーブル`test`(`desc` varchar(255))の作成に成功しました
test(desc)に挿入する値('fxf')に失敗しました
test(`desc`)に挿入する値( 'fxf') 成功
mysql の共通予約語
mysql を使用するときは注意してください。その予約語をテーブル名や列名として使用しないでください。それ以外の場合は、不可解なエラーが発生します。
昨日、interval (時間間隔) という名前の 1 つのカラムを持つテーブルを作成した結果、データを挿入できませんでした。最終的に、interval は MySQL の予約語であることがわかりました。
今後同様のエラーが発生する場合は、まずテーブル名または列名の競合が原因であるかどうかを検討する必要があります。
参考のためにインターネットから MySQL の予約語リストを見つけました。
すべて追加 | 変更 | 分析 |
AS | ASC | |
前 | 間 | |
BINARY | BLOB | |
BY | コール | |
ケース | 変更 | |
キャラクター | チェック | |
列 | 状態 | |
制約 | ||
変換 | 作成クロス | |
CURRENT | _DATECURRENT_ TIME | CURRENT_TIMESTAMP |
CURSOR | データベース | |
DAY_HOUR | DAY_MICROSECOND | |
DAY_SECOND | DEC | |
DECL ARE | デフォルト | |
削除 | DESC | |
決定論的 | 区別 | |
p | ダブル | |
デュアル | ||
他 | 他IF | 囲まれています |
存在します | EXIT | |
FALSE | FETCH | |
FLOAT | FLOAT4 | FLOAT8 |
FORCE | 外国人 | |
全文 | ||
GRANT | グループHAVING | |
HOUR_MICROSECOND | HOUR_MINUTE | |
IF | 無視 | |
INDEX | IN | |
INNER | INOUT | |
インセンシティブ | INSERT | INT |
INT1 | INT2 | INT3 |
INT4 | INT8 | INTEGER |
INTERVAL | INTO | IS |
反復 | 参加 | キー |
キー | キル | ラベル |
リーディング | 離脱 | 左 |
いいね | 制限 | リニア |
LINES | LOAD | LOCALTIME |
LOCALTIMESTAMP | LOCK | LONG |
LONGBLOB | LONGTEXT | ループ |
LOW_PRIORITY | MATCH | MEDIUMBLOB |
MEDIUMINT | MEDIUMTEXT | MIDDLEINT |
MINUTE_MICROSECOND | MINUTE_SECOND | MOD |
MODIFIES | ナチュラル | NOT |
NO_WRITE_TO_BINLOG | NULL | NUMERIC |
オン | 最適化 | オプション |
オプション | または | 注文 |
OUT | OUTER | OUTFILE |
Precision | 主要な | 手順 |
パージ | RAID0 | 範囲 |
読む | 読む | 本物 |
参考文献 | 正規表現 | リリース |
名前を変更 | 代表食べる | 交換 |
必要 | 制限 | 返品 |
取り消し | 正しい | Rいいね |
スキーマ | スキーマ | SECOND_MICROSECOND |
SELECT | 敏感 | セパレータ |
設定 | 表示 | 小さい |
空間 | 特定 | SQL |
SQL例外 | SQLSTATE | SQLWARNING |
SQL_BIG_RESULT | SQL_CALC_FOUND_ROWS | SQL_SMALL_RESULT |
SSL | STARTING | STRAIGHT_JO IN |
テーブル | 終了しました | THEN |
TINYBLOB | TINYINT | 小さなテキスト |
トレーリング | トリガー | |
UNION | ユニーク | |
署名なし | 更新 | |
使用法 | 使用 | |
UTC_TIME | UTC_TIMESTAMP | |
VARBINARY | VARCHAR | |
VARYING | いつ | |
しながら | と | |
X509 | 例: | |
以上がmysql ステートメントにバッククォートを追加する必要があるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。