0

私はSQLクエリを持っています:

SELECT * FROM presentations_db.presenters_tbl WHERE e-mail LIKE '%@%';

うまくいかないようで、その理由がわかりません。WHERE 部分を削除すると機能しますが、すべてのレコードが含まれます。電子メール アドレスを持つレコードのみが必要です。私はmysqlワークベンチを使用しています。電子メール フィールドは VARCHAR(45) です。とてもシンプルに見えますが、そうではありません... フィードバックやエラー メッセージはありません。結果リストも開きません。

4

3 に答える 3

3

構文エラーを避けるために、列名をバッククォートで囲む必要があります。

SELECT * FROM presentations_db.presenters_tbl WHERE `e-mail` LIKE '%@%

バックティックでラップしないと、人工演算が実行されます。

メールeから差し引かれます

次のエラー メッセージが表示されます。Unknown column 'e' in 'where clause'


于 2013-04-10T14:40:17.517 に答える
0

バックティックまたは二重引用符 (ANSI 引用符が有効になっている場合) による必要な引用とは別に、where 句を次のように変更します。

SELECT * FROM presentations_db.presenters_tbl WHERE `e-mail` IS NOT NULL;

必要なのは、電子メールが設定されているレコードだけだからです。ただし、アドレスの有効性はチェックしません。

于 2013-04-11T06:53:31.557 に答える