如何在SQL中转义分号

时间:2018-08-02 04:31:32

标签: java sql scala playframework

如何在Sql中转义分号?我使用了playframework,我试图在“值”中插入html代码,但是当我尝试使用分号时,它不起作用?

    CREATE TABLE "R_EMAIL_TEMPLATE"
    (
        "ID" uuid NOT NULL,
        "WP_ID" uuid NOT NULL,
        "CODE" text NOT NULL,
        "SUBJECT" text NOT NULL,
        "CONTENT" text NOT NULL,
        "CREATED_AT" timestamp without time zone,
        "CREATED_BY" text,
        "UPDATED_AT" timestamp without time zone,
        "UPDATED_BY" text,
        CONSTRAINT "R_EMAIL_TEMPLATE_pkey" PRIMARY KEY ("ID"),
        CONSTRAINT "R_EMAIL_TEMPLATE_WP_pkey" FOREIGN KEY ("WP_ID") REFERENCES "C_WP" ("ID")
    );
    INSERT INTO "R_EMAIL_TEMPLATE"
        VALUES (
            '30abd6ec-3496-45ff-be54-7f6f9290ebc4',
            '30abd6ec-3496-45ff-be54-7f6f9290ebcf',
            'user-activation',
            'User Registration',
            ';',
            '2018-05-17 19:02:39.643',
            'LOGIN',
            null,
            null
        );

2 个答案:

答案 0 :(得分:2)

分号不需要逃脱。 看来问题不在于分号,而是关于您在第二次INSERT中使用的双引号

SQL中的字符串值必须用单引号引起来。保留双引号用于对象名称,例如架构/表/列名称等。

所以尝试

INSERT INTO "R_EMAIL_TEMPLATE"
 VALUES (
    '30abd6ec-3496-45ff-be54-7f6f9290ebc4',
    '30abd6ec-3496-45ff-be54-7f6f9290ebcf',
    'user-activation',
    'User Registration',
    ';',
    '2018-05-17 19:02:39.643',
    'LOGIN',
    null,
    null
);

相反...

答案 1 :(得分:0)

使用\设置转义字符,然后尝试执行以下操作:

INSERT INTO "R_EMAIL_TEMPLATE"
 VALUES (
    '30abd6ec-3496-45ff-be54-7f6f9290ebc4',
    '30abd6ec-3496-45ff-be54-7f6f9290ebcf',
    'user-activation',
    'User Registration',
    '\;',
    '2018-05-17 19:02:39.643',
    'LOGIN',
    null,
    null
);