Question

Unable to fix to MySQL script

Posted June 21, 2021 79 views
MySQL

I’m quite new to MYSQL. I think issue is with the 'for xml' part in the query below.

Any Help is really appreciated.

insert into AuditPolicy
    (
    RenewalrootId ,
    ModifiedBy,
    ModifiedDate,
    xmldata
    )
    select
    par_RootId,
    par_ModifiedBy,
    NOW(3),
    (select * from Policy as p
    where p.RenewalRootId = par_RootId for XML
    limit 1
    raw('PolicyData'),root('Policy'))

edited by bobbyiliev

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

×
Submit an Answer
1 answer

Hi there,

I believe that MySQL does not support the FOR XML syntax. You should be able to store the XML in a CLOB or text column and select it as normal without specifying the FOR XML statement.

Alternatively, you could consider switching from MySQL to PostgreSQL for example as it supports native XML datatype.

Regards,
Bobby

  • Can you please convert below query to MySQl
    insert into AuditPolicy

    (

    RenewalrootId ,

    ModifiedBy,

    ModifiedDate,

    xmldata

    )

    select top 1

    @RootId,

    @ModifiedBy,

    GETDATE(),

    (select * from Policy as p

    where p.RenewalRootId = @RootId for XML

    raw(‘PolicyData’),root('Policy’))