I've look into the code myself and I'm afraid that MySQL connector is really not supporting upsert at the moment. Please take a look at file org.apache.sqoop.manager.MySQLManager if you're interested.
I believe that adding upsert functionality to MySQL connector should not be a big deal as the database is already supporting it. Would you mind filling a JIRA about that on https://issues.apache.org/jira/browse/SQOOP ?
On Thu, Oct 04, 2012 at 09:38:34AM +0530, Raghav Gautam wrote:
> Hi Kathleen,
> I was doing sqoop export. I have a wrapper script which fires the actual
> command. The option that was used was --update-mode allowinsert and the
> database was mysql resulting in:
> ERROR tool.ExportTool: Error during export: Mixed update/insert is
> not supported against the target database yet
> Without the --update-mode I get the rows appended as expected to the
> destination table.
> BTW, any idea which code commit added the feature for mysql - I would love
> to look at the code myself.
> On Thu, Oct 4, 2012 at 7:44 AM, Kathleen Ting <[EMAIL PROTECTED]> wrote:
> > Hi Raghav, I can't tell if you're doing a Sqoop export or import as
> > neither was specified in the command?
> > Also, can you try with
> > --update-mode allowinsert
> > (i.e. without the '=' sign)?
> > e.g. sqoop export --connect jdbc:mysql://localhost/test --username
> > root --hive-table test --table test2 --update-key=id --update-mode
> > allowinsert
> > Regards, Kathleen
> > On Wed, Oct 3, 2012 at 6:26 PM, Raghav Gautam <[EMAIL PROTECTED]> wrote:
> > > Hi,
> > >
> > > I tried using upsert mode with MySQL and received the following error.
> > Is it
> > > not supported yet ?
> > >
> > > Error:
> > > ERROR tool.ExportTool: Error during export: Mixed update/insert is not
> > > supported against the target database yet
> > >
> > > Command:
> > > sqoop --connect jdbc:mysql://localhost/test --username root --hive-table
> > > test --table test2 --update-key=id --update-mode=allowinsert
> > >
> > > With Regards,
> > > Raghav.