Forums

The forums ran from 2008-2020 and are now closed and viewable here as an archive.

Home Forums Back End quick mysql query

  • This topic is empty.
Viewing 12 posts - 1 through 12 (of 12 total)
  • Author
    Posts
  • #26949
    AlCapone
    Participant

    Hi, i have a table that is going to have a lot or rows, i don’t want to have to search the whole table for a value with a query i want to check what the last row added was.
    So each day a new row will be added, but i want a script to check if today’s date is a new row or not so i only want to check the last entry to the table as if its not equal to today’s date then it will create a new row.

    Any Ideas?
    Many Thanks
    Chris

    #67131
    AshtonSanders
    Participant
    #67132
    AlCapone
    Participant

    Mmmmm, Thanks, do you feel like helping me use them? I cant see how they work =-)

    Many Thanks
    Chris

    #67134
    AshtonSanders
    Participant

    I could try.

    I’m assuming you’re using PHP to run the mysql queries?

    at what point do you need to know the "last ID" (before or after you run a query) ?

    #67152
    AlCapone
    Participant

    Hi, Thanks

    Yeah i’m using php.

    Ok. so it should go like this,

    Connect to DB – Which I can do.
    Check what the last row entered to the db was – it gets the last row entered and stores its value .
    It then compares that value with one that has just been created by using the date function.
    If they are the same everything is fine.
    If they are different then it enters a new row in the table – this i should be able to do.

    Many Thanks
    Chris

    #67157
    AshtonSanders
    Participant

    Hmmm Okay.

    Well, mysql_insert_id(); should return the ID of the last entry.

    Try this:

    Code:

    Hopefully, tat will return the last… but looking at the function details again, it looks like it may only work on Queries previously run in the same DB connection.

    Anyway, let me know if that works…

    #67214
    AlCapone
    Participant

    Hi, it returned ‘0’ which has nothing to do with my database.

    Many Thanks
    Chris

    #67215
    AlCapone
    Participant

    Quick question,
    If i just run a query to match my variable with one in the db and stop searching when it has found one, which side of the table does it start from?

    #67225
    AshtonSanders
    Participant

    Okay, it looks like that’s not going to work then…

    "AlCapone" wrote:
    Quick question, …

    No idea.

    But it sounds like the best bet is to just do a query like:

    SELECT * FROM table WHERE Date = $today OR Date = $yesterday

    … ?

    #67231
    AshtonSanders
    Participant

    Cool Rob.

    Do you think you could you do something likethis?:

    Code:
    query( “SELECT * FROM table WHERE ID = (SELECT LAST_INSERT_ID())” );
    #67260
    AlCapone
    Participant

    Ok, ill try this thanks – Question though is this query going to search through the entire table? That was the main thing i was after – i only wanted it to check the last entry not the whole table.

    Many Thanks
    Chris

    #67154
    AshtonSanders
    Participant

    Hi Chris,

    I don’t know how the MySQL search mechanism works, but I doubt you’ll be able to do better than this. The biggest tax on your SQL server is the amount of information returned; not how much is searched through. And that’s only noticable if you’re returning thousands of rows of info.

    SQL also has a memory function where it will remember a similar query.

    I have a friend who created a CMS where every tag, attribute and value was stored separately in the database, and the page still loaded as fast as an HTML page… we have yet to test this on a hundred-visits-a-minute site, but you get the idea.

    Hope that helps.

Viewing 12 posts - 1 through 12 (of 12 total)
  • The forum ‘Back End’ is closed to new topics and replies.