So just use REPLACE instead of INSERT...
On Mon, Jul 21, 2008 at 11:44 AM, mos <mos99@stripped> wrote:
> At 08:23 PM 7/20/2008, Perrin Harkins wrote:
>> On Sun, Jul 20, 2008 at 12:12 AM, mos <mos99@stripped> wrote:
>> > Is there a way to get "Insert ... select ... On Duplicate Update" to
>> > the row with the duplicate key?
>> That's what it does.
>> > Why can't it do this?
>> What makes you think it can't?
>> - Perrin
> I can't specify all of the columns in a Set statement in the
> OnDuplicate clause because I don't know what the column names are and there
> could be 100 columns. I'd like to use something like:
> insert into Table2 select * from table1 on duplicate key update;
> but this gives me a syntax error.
> Error Code : 1064
> You have an error in your SQL syntax; check the manual that corresponds to
> your MySQL server version for the right syntax to use near '' at line 1
> So it is looking for an Update expression. I'd like it to update all the
> columns in the Select statement to the row with the matching key. After all,
> this is what the statement was trying to do in the first place. I don't see
> why I have to explicitly specify all of the value assignments in the On
> Duplicate phrase over again.
> MySQL 5.0.24
> MySQL General Mailing List
> For list archives: http://lists.mysql.com/mysql
> To unsubscribe: http://lists.mysql.com/mysql?unsub=1
Help build our city at http://free-dc.myminicity.com !