タグ付けされた質問 「sql-delete」


16
MySQLエラー1093-FROM句で更新のターゲットテーブルを指定できません
story_categoryデータベースに破損したエントリを持つテーブルがあります。次のクエリは、破損したエントリを返します。 SELECT * FROM story_category WHERE category_id NOT IN ( SELECT DISTINCT category.id FROM category INNER JOIN story_category ON category_id=category.id); 私は実行してそれらを削除しようとしました: DELETE FROM story_category WHERE category_id NOT IN ( SELECT DISTINCT category.id FROM category INNER JOIN story_category ON category_id=category.id); しかし、私は次のエラーを受け取ります: #1093-FROM句で更新のターゲットテーブル 'story_category'を指定できません どうすればこれを克服できますか?


5
MySQL LEFT JOINを使用した行の削除
2つのテーブルがあります。1つはジョブの締め切り、もう1つはジョブの説明です。各ジョブはステータスを取得でき、一部のステータスは、ジョブの期限を他のテーブルから削除する必要があることを意味します。 私は次のようにしてSELECT、自分の基準を満たす仕事/締め切りを簡単に作成できますLEFT JOIN。 SELECT * FROM `deadline` LEFT JOIN `job` ON deadline.job_id = job.job_id WHERE `status` = 'szamlazva' OR `status` = 'szamlazhato' OR `status` = 'fizetve' OR `status` = 'szallitva' OR `status` = 'storno' (statusに属するjobテーブルはありませんdeadline) しかし、これらの行をから削除したい場合deadline、MySQLはエラーをスローします。私のクエリは: DELETE FROM `deadline` LEFT JOIN `job` ON deadline.job_id = job.job_id WHERE `status` = 'szamlazva' …

3
INNER JOINを使用したSQL DELETE
テーブルは2つspawnlistありnpc、とからデータを削除する必要がありますspawnlsit。 npc_templateid = n.idTemplateテーブルを「接続」する唯一のものです。このスクリプトを試してみましたが、機能しません。 私はこれを試しました: DELETE s FROM spawnlist s INNER JOIN npc n ON s.npc_templateid = n.idTemplate WHERE (n.type = "monster");

7
MySQLの複数のテーブルから削除する方法は?
いくつかのテーブルから一度に削除しようとしています。私は少し研究をして、これを思いつきました DELETE FROM `pets` p, `pets_activities` pa WHERE p.`order` > :order AND p.`pet_id` = :pet_id AND pa.`id` = p.`pet_id` ただし、このエラーが発生しています Uncaught Database_Exception [1064]:SQL構文にエラーがあります。MySQLサーバーのバージョンに対応するマニュアルで、 'p、pets_activitiespa ...の近くで使用する正しい構文を確認してください... これまでクロステーブルの削除を行ったことがないので、今のところ経験がなく、行き詰まっています。 何が悪いのですか?




16
重複するエントリを削除する方法は?
既存のテーブルに一意制約を追加する必要があります。これは問題ありません。ただし、テーブルにはすでに数百万の行があり、行の多くは追加する必要がある一意の制約に違反しています。 問題の行を削除する最も速い方法は何ですか?重複を見つけて削除するSQLステートメントがありますが、実行に時間がかかります。この問題を解決する別の方法はありますか?たぶんテーブルをバックアップしてから、制約が追加された後に復元しますか?

5
id =(x to y)であるSQLの複数の行を削除する方法
SQLクエリを実行して、テーブル内のIDが163〜265の行を削除しようとしています。 削除する行数を減らすためにこれを試しました DELETE FROM `table` WHERE id IN (264, 265) しかし、一度に数百行を削除する場合、上記の方法に似たクエリはありますか?私もこの種のクエリを使用しようとしていますが、実行できませんでした DELETE FROM `table` WHERE id IN (SELECT * FROM table WHERE id = ) 上記のアクションを実行するためのクエリを教えてください...
86 sql  sql-delete 

9
条件としてサブクエリを使用したMySQLDELETE FROM
私はこのようなクエリを実行しようとしています: DELETE FROM term_hierarchy AS th WHERE th.parent = 1015 AND th.tid IN ( SELECT DISTINCT(th1.tid) FROM term_hierarchy AS th1 INNER JOIN term_hierarchy AS th2 ON (th1.tid = th2.tid AND th2.parent != 1015) WHERE th1.parent = 1015 ); おそらくおわかりのように、同じtidに他の親がある場合は、1015への親関係を削除したいと思います。ただし、構文エラーが発生します。 You have an error in your SQL syntax; check the manual …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.