Welcome Guest, Not a member yet? Register   Sign In
db query builder
#1

I have a need to load multiple records into a database.
There is a chance that some of these records might be duplicates (existing primary key).
I want this to be fast and secure (no sql injection etc).

Performing a loop and error checking $this->db->insert('mytable', $data);  is not performant.

Performing $this->db->insert_batch('mytable', $data);  will fail. When I perform a $this->db->error() catch then I capture the first statement that failed in the $data. No clean way to resolve the issue (duplication) and resolve.

Effectively I want 'Insert' statements generated by the query builder to be 'Insert Ignore'.

Options
* I would like to extend the Database component (without hacking / properly)
* Am I missing a $this->db->ignore feature?
* ???

As a hack, I have added to database\DB_query_builder.php with copied functions of public function insert_batch and _insert_batch to create insert_ignore_batch and _insert_ignore_batch where the "return 'INSERT INTO'" has been changed to "return 'INSERT IGNORE INTO'"

Any advise on the best way to approach?

Thanks
Paul
Reply


Messages In This Thread
db query builder - by maximusto - 09-01-2019, 04:39 PM
RE: db query builder - by InsiteFX - 09-03-2019, 03:01 AM
RE: db query builder - by maximusto - 09-03-2019, 08:22 AM
RE: db query builder - by tgix - 09-05-2019, 11:54 AM



Theme © iAndrew 2016 - Forum software by © MyBB