Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8207347
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 7, 20262026-06-07T08:58:00+00:00 2026-06-07T08:58:00+00:00

Is there an equivalent to a grouped primary key using an InnoDB MySQL database

  • 0

Is there an equivalent to a grouped primary key using an InnoDB MySQL database and allowing auto-increment on the second key?

What I am trying to implement is a table to store image URL’s based on a parent object ID something like:

CREATE TABLE images (
   parent_id INT(11) NOT NULL,
   image_id INT(11) AUTO_INCREMENT, //will this work with a grouped primary key?
   source_url VARCHAR(255) NOT NULL,
   caption VARCHAR(255) NOT NULL,
) ENGINE = InnoDB;

So for MyISAM I could do something like:

PRIMARY KEY(parent_id, image_id)

[edit] Using a trigger would be something like: (sorry my SQL is not very strong)

delimiter //
DROP TRIGGER IF EXISTS test_img_trigger;
CREATE TRIGGER test_img_trigger BEFORE INSERT ON venue_images
FOR EACH ROW
BEGIN
DECLARE img_id INT UNSIGNED DEFAULT 0;

SELECT image_id + 1 INTO img_id FROM venue_images WHERE venue_id = NEW.venue_id;
UPDATE venue_images SET image_id = img_id WHERE venue_id = NEW.venue_id;

END IF;
END;//
delimiter;
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-07T08:58:02+00:00Added an answer on June 7, 2026 at 8:58 am

    In case this can help anyone else this was my solution.

    I could not simply use a trigger as MySQL does not yet (or at least my version 5.1.53) support the ability to use a trigger to update the table the trigger is called on. So I created a sequence table:

    CREATE TABLE image_seq (
        parent_id INT(11) NOT NULL,
        catagory INT(11) NOT NULL,
        next_seq_id INT(11) NOT NULL,
        KEY(catagory),
        PRIMARY KEY(parent_id, catagory);
    );
    

    And then created a trigger on the images table:

    CREATE TRIGGER bi_image_trig
    BEFORE INSERT ON images
    FOR EACH ROW
    BEGIN
    
    DECLARE id INT UNSIGNED DEFAULT 1;
     SELECT next_seq_id + 1 INTO id FROM image_seq WHERE parent_id=NEW.parent_id AND       catagory=NEW.catagory;
    SET NEW.image_id = id;
    UPDATE image_seq SET next_seq_id=id WHERE parent_id=NEW.parent_id AND catagory=NEW.catagory;
    
    END;
    

    Not sure if its the optimal solution but it works and allows me to keep track of image numbers in catagories for each parent object.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Is there an equivalent to the following: header(Content-type: text/xml); I'm using Google Maps with
Is there some equivalent to PHP mysql_insert_id to fetch the last inserted UUID() primary
Is there an equivalent library for JAXB in .NET? I am trying to convert
Is there an equivalent of Nil for Set in scala? I tried using Nil
Is there an equivalent method for plotting functions using ggplot to the curve() command
Is there a equivalent way to see the execution plans from MYSQL like the
Is there an equivalent way to connect to a postgres database in a similar
Is there an equivalent to this statement in jQuery? var value = document.getElementById(id).files[0]; Using
Are there equivalent to perl -c syntax check for JavaScript from command? Given that
Is there equivalent to \Q ... \E in C# Regex? I can't find it.

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.