SQL列名データ型の名前と同じ - エラーを引き起こす
-
21-12-2019 - |
質問
私はSQLにとって非常に新しい、テーブル構造の作成に問題がある。
4列 - id
、text
、date
、およびreplace
の4列のテーブルを作成します。問題はMySQLでエラーを与えているのですが、TEXT
とDATE
という単語もデータ型の名前で、REPLACE
はSQLで使用されている別の用語であるため、MySQLはMySQLが自分の列名を気にしないか認識していないためです。私が与えた名前は実際の名前です。列名が他のものに電話をかけずに、手動で手動で変更することなく、列名を取得するためにこれを回避できる方法はありますか?
これは私のSQLです:
CREATE TABLE message (
id INT UNIQUE AUTO_INCREMENT NOT NULL,
text TEXT,
date INT,
replace INT DEFAULT 0
);
.
と私が到着しているエラー:
#1064 - SQL構文にエラーがあります。 5行目の「Replace Int Default 0)」を使用する正しい構文のためのMySQLサーバーのバージョンに対応するマニュアルを確認してください。
CREATE TABLE message(
id INT UNIQUE AUTO_INCREMENT NOT NULL ,
TEXT TEXT,
DATE INT,
REPLACE INT DEFAULT 0
);
. 解決
一般的な規則はこれらのキーワードを使用しないで、フィールド名に「テキスト」とは異なるものを思い付いています。必要に応じて、列名の周囲に `(back-tick)を使用してSQLに列名を指示し、キーワードの手段を意味するものではありません。私はあなたの列を ''から '' select 'と' "どこにも '' where;)を呼び出すことをお勧めします。)
他のヒント
CREATE TABLE message (
`id` INT UNIQUE AUTO_INCREMENT NOT NULL,
`text` TEXT,
`date` INT,
`replace` INT DEFAULT 0
);
. 所属していません StackOverflow