If we are migrating a MYSQL DB from inno no cluster to ndb cluster, and we have a column of type BLOB for example with cascade on delete or update. Converting to ndb cluster will result in an error since this syntax is not allowed (limitation). What is the alternative and how to fix our script in this case?
Migrating a MYSQL DB from inno no cluster to ndb cluster
32 Views Asked by user666 At
1
There are 1 best solutions below
Related Questions in MYSQL
- How to Retrieve Data from an MySQL Database and Display it in a GUI?
- How to change woocomerce or full wordpress currency with value from USD to AUD
- window.location.href redirects but is causing problems on the webpage
- Error: local variable 'bramka' referenced before assignment
- Products aren't displayed after fetching data from mysql db (node.js & express)
- status table for all entries (even in different dates) in database changing value when all checkboxes are checked
- Can't Fix Mariadb & Mysql ERROR 2002 (HY000): Can't connect to local server through socket '/tmp/mysql.sock' (2) On MacOs
- Express Mysql getting max ID from table not working cought in a promise
- failed to upload a table from sql file
- Update a MySQL row depending on the ID in Google Sheets Apps Script
- Use row values from another table to select them as columns and establish relations between them (pivot table)
- SQL: Generate combination table based on source and destination column from same table
- How to display the column names which have only unique non-null values in MySQL table?
- mysql query takes too long because of wrong indexes usage
- Multitable joining in Sql
Related Questions in INNODB
- Solution Indication - Database
- mysql locks relation to indexes
- MySQL table size: Do I need to adjust something?
- MySQL InnoDB: Can one make large inserts from queries run with no rollback penalty
- Gap locks using InnoDB
- Is InnoDB Engine a B Tree or a B+ Tree?
- Implementing Field Level Encryption for Rating Column in MySQL InnoDB Without Modifying Application Code
- How to correctly set the lock in MySQL?
- Undo logs are not truncating even the parameter is set to ON
- InnoDB - errno: 1005, sqlState: 'HY000' sqlMessage: "Can't create table (tableName) (errno: -1)",
- Update a record or insert if it doesn't exists, with locking
- Dynamically create tables by foreign key
- Does Mariadb innodb prioritizes Select NOW() over other selects and inserts
- Trying to add foreign key and an error occured "errno: 150 'Foreign key constraint is incorrectly formed'"
- Using custom locks to insert rows safely
Related Questions in NDBCLUSTER
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
As you discovered, NDB does not fully support cascading foreign keys, because of its implementation.
The details are documented here, for other readers who want to know: https://dev.mysql.com/doc/mysql-cluster-excerpt/8.3/en/mysql-cluster-limitations-syntax.html
There are several workarounds:
Perform cascading deletes in triggers.
Perform cascading deletes in application code.
For cascading updates, all you can do is refrain from defining foreign key constraints at all.
You can't cascade primary key updates using triggers or application code, because you end up with a chicken-and-egg problem. You can't change the primary key of the parent table first, because child rows depend on its value, and you can't change child rows first because the new value doesn't exist in the parent table yet.
So the workaround for updates is to forget about using the foreign key constraint. Then you can make changes to both tables in a transaction. It's up to you to make sure referential integrity is satsified by the end of your transaction, because without a constraint the database can't enforce it.