型はあっているはずなのに1054エラーが発生する
Q&A
Closed
セルフ解決!
でも腑に落ちない解決なのでなにか情報あればコメントお願いします!
解決したいこと
MySQLのINSERT INTO文で予期しないエラー(1054)が発生しました
TEXT型で「`」を付加しているにも関わらずエラーが発生します
前提
RDBMS:MySQL 8.0.32
管理ツール:HeidiSQL 12.4.0.6659
OS:Windows11 Home 22H2
プロセッサ:AMD Ryzen 9 5900X 12-Core Processor 3.70 GHz
RAM:32.0 GB
発生している問題・エラー
入力した内容
INSERT INTO `m_brand`
(`BRAND`,`NAME`)
VALUES(1,`MO`);
/* SQL エラー (1054): Unknown column 'MO' in 'field list' */
自分で試したこと
このエラーコード自体は初歩的なエラーなこともありすぐ理解できまして、要するに
データ型に合わせて「"」「`」を付けたり外したりとすれば良いという認識でした。
そのため今回の場合はVALUES(1,`MO`); にすれば解決するはずです。しかしながら、最初から「`」を付加していたためなぜエラーが発生するのかがわかりませんでした。
意味があるのかわかりませんが、一応「``」を「""」に変えてみたりもしました。しかし同じエラーが出るのみで改善はしませんでした。
何が原因なのでしょうか。
ご存じの方はぜひご教示のほど、よろしくお願いします。
思ったこと
エラーをよく見るとシングルクォーテーションが含まれているように見えるのですが・・・
解決
サイトによってはシングルクォーテーション(shift + @)、またはダブルクオーテーションを入力するようにと記載のある事があるが、なぜか自分の環境では 値に関しては アポストロフィーしか受け付けてくれなかった。
意味わからん。。けど解決したしまあいいや
解決の詳細(23年4月6日20時追記)
なんでバリューだけ「``」で受け付けてくれない??逆なんでバリュー以外はクエリOK???
意味わからん
まあ教訓はとにかくバリュー(値)だけは「``」(Shift+@)で囲むなと言うことです!