Tcl / MySQL查询:将整数与秒进行比较

时间:2015-03-02 20:16:37

标签: mysql tcl

我有一个数据库,其[clock seconds]值保存在一列" ablaufdatum"中。 我有一个Tcl脚本从现在开始获取[时钟秒]并选择所有旧条目。但不知何故,以下查询无效,我无法找出原因。你能救我吗?

set systemTime [clock seconds]
set queryanzahlalteuser [::mysql::query $db {SELECT COUNT(*) FROM tbl_ticket WHERE aktiv='1' AND erstellt='1' AND ablaufdatum<'$systemTime'}]

ablaufdatum也是一个]但在mysql DB中保存为整数。

这不是任何值的回归。 我试过了

puts "SELECT COUNT(*) FROM tbl_ticket WHERE aktiv='1' AND erstellt='1' AND ablaufdatum<'$systemTime'" 

和显示的查询,如果输入到phpMyAdmin控制台,可以正常工作并返回值。

Integer格式是否可能导致此问题? 或者我必须以不同方式格式化当前时间?

提前致谢

1 个答案:

答案 0 :(得分:1)

我对mysql不熟悉(我更多地使用sqlite)但是我检查了manuals并且看起来命令::mysql::query在使用大括号时不进行变量替换,所以请尝试使用以下代码:

set systemTime [clock seconds]
set queryanzahlalteuser [::mysql::query $db "SELECT COUNT(*) FROM tbl_ticket WHERE aktiv='1' AND erstellt='1' AND ablaufdatum<'$systemTime'"]
                                          # ^                                                                                              ^

使用双引号应该可以正常工作。