我尝试在 Windows 中使用批处理文件执行以下查询来每天检查数据库,但出现错误。
select 'INSERT INTO MY_DB_RESOURCE_USAGE (REG_DT) VALUES ('''||reg_dt||''');'
from (
select *
from
(select convert(DATE_FORMAT(now(), '%Y%m%d:%H'),char ) "reg_dt") reg_dt
) tt;
Truncated incorrect INTEGER value: 'INSERT INTO MY_DB_RESOURCE_USAGE (REG_DT) VALUES (''
Truncated incorrect INTEGER value: '');'
Truncated incorrect DOUBLE value: 'INSERT INTO MY_DB_RESOURCE_USAGE (REG_DT) VALUES (''
Truncated incorrect DOUBLE value: '20240320:15'
有什么解决办法吗?
但是 select 语句的结果很好。 mariadb 版本是 10.0.20
Mariadb 现在没有 || aA Concatination 变量,需要使用
CONCAT
有些东西你做得太复杂了所以我把它删除了
CREATE tABLE MY_DB_RESOURCE_USAGE (REG_DT varchar(14))
select CONCAT( "INSERT INTO MY_DB_RESOURCE_USAGE (REG_DT) VALUES ('", reg_dt_ , "');") into @sql
from
(select convert(DATE_FORMAT(now(), '%Y%m%d:%H'),char ) as reg_dt_) reg_dt_tab
select convert(DATE_FORMAT(now(), '%Y%m%d:%H'),char ) as reg_dt
reg_dt |
---|
20240321:01 |
SELECT @sql
@sql |
---|
插入 MY_DB_RESOURCE_USAGE (REG_DT) 值 ('20240321:01'); |
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
Statement prepared
SELECT * FROM MY_DB_RESOURCE_USAGE
REG_DT |
---|
20240321:01 |