質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

Q&A

4回答

4399閲覧

mysqlにていずれかの文字を含むレコードを全て削除したい

cutter

総合スコア140

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

0グッド

0クリップ

投稿2016/10/03 17:13

sql

1DELETE FROM `tablename` WHERE `col1` LIKE '%word1%' OR `col2` LIKE '%word2%'OR ...続く;

上記のようにORで10個以上指定しているのですが、どれも単発では削除出来るのですが、ORでいずれかと指定すると削除してくれません。

間違いがありますでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

sql文でlikeとorが正しく使われていれば問題なく動作するはずです。
書かれている例文の文法は正しいと思います。

ちなみに
mysqlのバージョンは何でしょうか? 最新に近い5.6や5.7でしょうか?
orで何個連結されていますか? orが1個でも動作しませんか?

投稿2016/10/04 04:46

Yatsurugi

総合スコア1628

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

cutter

2016/10/04 04:58

ありがとう御座います。下記になります。 ORでは15個程繋げており、PHPからの実行では動作してくれないのですが、そのSQL文をECHOしたものをPHPMYADMINで貼り付けるとエラーはなく、返り値が0といいますか削除が0で、個数を1つに減らすと普通に消えてくれます。 Server type: MariaDB サーバのバージョン: 10.0.27-MariaDB-cll-lve - MariaDB Server プロトコルバージョン: 10 データベースクライアントのバージョン: libmysql - 5.1.73 PHP 拡張: mysqli ドキュメント phpMyAdminバージョン情報: 4.0.10.14
Yatsurugi

2016/10/04 06:54

ということはやはりこのSQL文はMYSQL側で正常に受け付けられていると いうことですね。ということはPHPからSQL実行時のエラーかと思います。 PHPから単にSQLを実行するだけでなく echo mysql_error(); を実行してまずどんなエラーが出ているかを見られると良いのでは ないかと思います。
guest

0

MySQLに直接クエリ投げてみたら動きました、嘘を書いてすみません。
恐らく見当違いなので本質問の解決にはなりませんが、

念のためANDとかORとかのキーワードの前はスペースを空けたり改行する方が良いかなとは思います。


提示されたSQLがそのままのソースコードだとすると、
LIKE '%word2%'ORの箇所にて、
シングルクォーテーションとORの間にスペースがないから、
MySQL構文エラーとなっているのではないでしょうか?

投稿2016/10/04 11:52

編集2016/10/04 12:03
Panzer_vor

総合スコア1636

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

提示されている分に関しての構文は問題ないと思います。
続くのところに秘密があるのかも。

投稿2016/10/04 00:34

ttyp03

総合スコア16996

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

SQL自体は問題なさそうですので、書かれた通りに動作するはずです。

投稿2016/10/03 17:15

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問