Welcome to the GoFuckYourself.com - Adult Webmaster Forum forums.

You are currently viewing our boards as a guest which gives you limited access to view most discussions and access our other features. By joining our free community you will have access to post topics, communicate privately with other members (PM), respond to polls, upload content and access many other special features. Registration is fast, simple and absolutely free so please, join our community today!

If you have any problems with the registration process or your account login, please contact us.

Post New Thread Reply

Register GFY Rules Calendar
Go Back   GoFuckYourself.com - Adult Webmaster Forum > >
Discuss what's fucking going on, and which programs are best and worst. One-time "program" announcements from "established" webmasters are allowed.

 
Thread Tools
Old 04-25-2013, 03:22 PM   #1
camperjohn64
Confirmed User
 
Industry Role:
Join Date: Feb 2005
Location: Los Angeles
Posts: 1,531
A little MySQL help...

I have query that gets data from the database, processes that data, then deletes the original data, but I need help with the query to "delete only the data we just SELECTED".

Currently I have this
Code:
// Get data using query
SELECT bd_action,bd_target,SUM(bd_count) AS bd_count,bd_data FROM bd_action GROUP BY CONCAT(bd_data,bd_action,bd_target)

// Delete the data (actually just delete everything)
DELETE FROM bd_action
My problem is that when I add a "LIMIT 10000" to the original query, I need to add the same LIMIT to the delete statement

Modified but not working:
Code:
// Get data using query LIMIT 10000
SELECT bd_action,bd_target,SUM(bd_count) AS bd_count,bd_data FROM bd_action GROUP BY CONCAT(bd_data,bd_action,bd_target) LIMIT 10000

// ?? Delete the data that I just got (delete ONLY the stuff I just got in the previous query)
DELETE FROM bd_action WHERE (SELECT bd_action,bd_target,SUM(bd_count) AS bd_count,bd_data FROM bd_action GROUP BY CONCAT(bd_data,bd_action,bd_target) LIMIT 10000)
I can't find the right DELETE FROM query that will delete only those items I just queried.

Thoughts?
__________________
www.gimmiegirlproductions.com
camperjohn64 is offline   Share thread on Digg Share thread on Twitter Share thread on Reddit Share thread on Facebook Reply With Quote
Old 04-25-2013, 03:44 PM   #2
Dankasaur
So Fucking Fossilized
 
Industry Role:
Join Date: Sep 2011
Posts: 1,432
Set an ID on the data field, then when you loop over that data, at the end send the delete query with WHERE data_id = $query->data_id

Then when it's done with that row, it'll delete it and move on to the next one.
Dankasaur is offline   Share thread on Digg Share thread on Twitter Share thread on Reddit Share thread on Facebook Reply With Quote
Old 04-25-2013, 03:46 PM   #3
KillerK
Confirmed User
 
Join Date: May 2008
Posts: 3,406
DELETE FROM bd_action WHERE (SELECT bd_action,bd_target,SUM(bd_count) AS bd_count,bd_data FROM bd_action GROUP BY CONCAT(bd_data,bd_action,bd_target LIMIT 10000) )

I would try that?

Also, copy the table to a new table, and try running it against that one first.

Otherwise, you can do it with php
KillerK is offline   Share thread on Digg Share thread on Twitter Share thread on Reddit Share thread on Facebook Reply With Quote
Post New Thread Reply
Go Back   GoFuckYourself.com - Adult Webmaster Forum > >

Bookmarks



Advertising inquiries - marketing at gfy dot com

Contact Admin - Advertise - GFY Rules - Top

©2000-, AI Media Network Inc



Powered by vBulletin
Copyright © 2000- Jelsoft Enterprises Limited.