почему в консоли БД запрос выполняется, а через sql/database - нет?
BEGIN;
create table rows_to_keep
select edh.*
from exch_d_hist edh
LEFT JOIN curr c ON c.id = edh.curr_id
WHERE DATE_SUB(NOW(), INTERVAL 30 minute) <= edh.created_at;
truncate table exch_d_hist;
insert into exch_d_hist
select *
from rows_to_keep;
drop table rows_to_keep;
COMMIT;
const ctasDelete = `
create table rows_to_keep select edh.* from exchange_data_history edh LEFT JOIN currencies c ON c.id = edh.currency_id WHERE DATE_SUB(NOW(), INTERVAL 30 minute) <= edh.created_at; truncate table exchange_data_history; insert into exchange_data_history select * from rows_to_keep; drop table rows_to_keep;
`
func (q *CreateExchangeDataParams) CTAS() error {
ctx := context.Background()
tx, err := q.db.BeginTx(ctx, nil)
if err != nil {
fmt.Println(fmt.Sprintf("%#v", err))
return err
}
defer tx.Rollback()
_, err = tx.ExecContext(ctx, ctasDelete)
if err != nil {
fmt.Println(fmt.Sprintf("%#v", err))
return err
}
if err = tx.Commit(); err != nil {
fmt.Println(fmt.Sprintf("%#v", err))
return err
}
return nil
}
Инсерт возвращает результат (rows affected), может drop его перекрывает и sql ругается
Илья
anhckie
Khalid
Aleksandr
thelissimus
Sebor▂▅▇█▓▒░
Lev
Александр
Vadim
NU
Najib
Vladislav
Victor
Абылхайыр
Andrei
Sanity = nil
Кіт ✙