делаю табуляцию в строке, что приводит к отправке \n и \t по сети до БД. Есть ли какой-то универсальный способ "почистить" строку, чтобы избежать этого? Или лучше пожертвовать читабельностью sql запроса?
sql := fmt.Sprintf(`
WITH a AS (
INSERT INTO %s(username, email, password, is_verified)
VALUES ($1, $2, $3, $4)
RETURNING id AS account_id
),
av AS (
INSERT INTO %s(code, account_id)
VALUES($5, (SELECT account_id FROM a) )
),
aa AS (
INSERT INTO %s(url, account_id)
VALUES($6, (SELECT account_id FROM a) )
)
SELECT account_id FROM a
`, accountTable, accountVerificationCodeTable, accountAvatarTable)
запрос из логов:
"\n\t\tWITH a AS (\n\t\t\tINSERT INTO account(username, email, password, is_verified)\n\t\t\tVALUES ($1, $2, $3, $4)\n\t\t\tRETURNING id AS account_id\n\t\t),\n\t\tav AS (\n\t\t\tINSERT INTO account_verification_code(code, account_id)\n\t\t\tVALUES($5, (SELECT account_id FROM a) )\n\t\t),\n\t\taa AS (\n\t\t\tINSERT INTO account_avatar(url, account_id)\n\t\t\tVALUES($6, (SELECT account_id FROM a) )\n\t\t)\n\t\tSELECT account_id FROM a\n\t"
возможно проблема в IDE, на Goland таких проблем не замечал
Обсуждают сегодня