26
DROP TABLE IF EXISTS `transactions`;
CREATE TABLE `transactions` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `purchase_date` datetime DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `transactions` (`purchase_date`) VALUES (NULL)

このコードで問題を切り分けました。実行すると、次のエラーが表示されます。

[クエリ 3 のエラー] 「フィールド リスト」の不明な列「purchase_date」

誰でもアイデアはありますか?

4

10 に答える 10

27

purchase_dateステートメントのと の間に印刷できない文字 30 (RecordSeparator) が挿入され'ていINSERTます。テキスト('purchase_date')を削除して手で書き直すだけで問題ありません。

于 2013-04-13T15:48:40.637 に答える
5

私はこれを理解するために一日の大部分を費やしました。私の問題は同じでした。目に見えない文字がクエリをキボし、「不明な列」エラーを返します。

Windowsに戻り、NotePad ++を使用してゴミを削除することで解決しました。

そもそもゴミはどうやって入ったの?長い複雑なクエリを phpMyAdmin でブックマークしたり、テキスト エディターに保存したりするのではなく、LibreOffice Writer (私の機能仕様書) にコピーするというミスを犯したためだと思います。それらをLibreOfficeからクエリウィンドウに貼り付けることは、(私が思うに)ガベージが発生した場所です。

そこに着くと、マラリアのように持続しました。クエリ全体を手動で再入力しても、それを取り除くことさえできませんでした。これを NotePad++ ([エンコード] メニュー) に入れて、ANSI と UTF8 の組み合わせを表示し、ゴミを手動で削除する必要がありました。

それが完了すると、クエリは機能しました。

于 2015-07-10T20:01:49.730 に答える
-3

扱っているテーブルの名前を見てください

于 2020-06-29T12:11:31.670 に答える