Your MySQL table structure creates a reference and constraint relationship between your wp_product table and wp_posts. MySQL is doing exactly what you have instructed it to do. In this case, preventing you from deleting a record in wp_posts that is ‘related’ to records in your wp_product table.
In a nutshell, this is what foreign keys are supposed to do; maintain data integrity. Therefore you cannot delete a row in wp_posts while a corresponding/related record exists in wp_product.
I’d suggest taking a look at the MySQL documentation on Using FOREIGN KEY Constraints. Per your comments below I’d suggest looking at ‘Referential Actions’ to set the action to CASCADE.
Review the linked documentation to drill down to the specifics that match your requirements.
Related Posts:
- MySQL Query to Retrieve Category from wp_posts
- SQL Query for getting all posts in their latest revised state
- Search & Remove Specific Shortcode From All Posts
- Manually delete post from database
- How to force update all posts after import
- Query All users that has post
- Can’t publish new posts
- Manually removing revision post types
- Reset/Reorder posts ID in the MySQL wp_posts table
- How do I find which articles are missing a featured image in The WordPress database?
- Tags to Post-ID mysql query. Tag Search
- wp_insert_post – duration
- Get user categories with most posts in it
- MySql query to get posts with all meta and terms
- Custom order for Mysql array
- List authors with the last post title and order by last post date
- How to Mysql select a list of posts with meta_values AND all relevant categories?
- Remove a shortcode from all WordPress posts
- Order posts alphabetically: how to set order=asc in mysql query?
- What do these phpMyAdmin errors mean on my WordPress databaes?
- What happens if I delete all the rows that represents a post revision from the posts table into WordPress database?
- Inner join overrides Advanced Custom Fields plugin’s get_field [closed]
- update image path with words starting uppercase to lowercase chars
- Queries take 120+ seconds on my large WordPress site
- Database hacked – random posts are modified
- Need to change all links in page content but not in post content
- Can’t update WordPress Page if post_content is Empty
- Restore woocommerce orders
- How to select particular month post from table and update the post status using MySQL?
- How do post IDs work in WordPress?
- Get author posts count after excluding a category
- get last post’s link with SQL query
- query for filtering published posts?
- MySQL: Possible to replace all of wp_posts.post_content(id#) via UPDATE + REPLACE + SELECT?
- Deleting post tags removes categories
- Return records between two meta datetimes saved as strings
- WP query taxonomy optimization
- MYSQL: Create SQL query to search for string and replace
- Query to fetch custom taxonomy along with post title
- Mysql update menu_order problem
- Bulk find & replace on WordPress posts/pages (minus image paths)
- WordPress MySQL Search and replace with wildcard?
- Add postmeta to all blog posts
- ‘posts’ table should not store the absolute image path
- Dev and prod on the same database- dev version active for IOS
- load post data into mysql
- SQL trigger failes with post_content
- Converting Posts to Pages
- How to change the publishing date of each posts?
- SQL query to remove first image in all posts
- Delete junk text from all the post using my sql command
- FIND and REPLACE wp_posts AND IGNORE custom post type mysql query
- How to create a post based on data in a table?
- If meta_key exists then don’t select this post?
- How to update wp_posts with just the returned comment count from wp_comments (SQL GROUP BY)
- How to manually delete post from database without causing conflicts?
- WordPress Post Query Using Custom native MySQL like St_Distance_Sphere
- How to extract and reveal code from SQL database in WordPress
- Get WordPress post content by post id
- Get page ID of page that is set as the posts page
- Get Posts Under Custom Taxonomy
- How to limit the number of posts that WP_Query gets?
- Stop WordPress Wrapping Images In A “P” Tag
- When is the ‘post_content_filtered’ column in database cleared by WordPress?
- Turn a URL into an Attachment / Post ID
- GET the excerpt by ID
- Stop WordPress automatically adding tags to post content
- Determine if page is the Posts Page
- How to get ‘post_content’ without stripping tags?
- How to add an admin notice upon post save/update
- Print Current Post Index number within Loop
- Should we trust the post globals?
- Optimize post insert and delete for bulk operations?
- Get the Current Page Number
- How do you add thumbnail support for custom post types?
- How to mark every 3rd post
- Change Posts per page count
- Keep featured content post in homepage with original order
- How to display related posts from same category?
- Can posts have parents?
- Is there a action hook for the “Empty Trash” button?
- How to end the excerpt with a sentence rather than a word?
- How do I check if I linked to a post before I delete it?
- How to change the case of all post titles to “Title Case”
- Appending content with broken in 4.4
- How to get posts published between a date and today?
- ZIP up all images displayed in a [gallery] and offer as download link
- How to detect single.php (but not single-portfolio.php)?
- How to check if post meta key exists or not in wordpress database
- How to remove a column from the Posts page
- removing inline styles from wp-caption div
- What is the use of to_ping and pinged column?
- How to use “Add link” pop up for a WordPress widget
- Remove Categories / Tags From Admin Menu
- How to retrieve text only from wp_content() not from wp_excerpt()?
- Stop WP from creating “Sample Page” and “Hello World!” post
- Where is the old post permalink slug stored?
- How to Create Editable Blocks of Text for the Homepage?
- Keyboard shortcut for updating a page or post?
- Add custom Attachment Display Setting for images