Maw*_*awg 1 mysql delphi timestamp
Delphi XE2和MySql.
我之前的问题导致我建议我应该使用MySql的本机TIMESTAMP数据类型来存储日期/时间.
不幸的是,我似乎无法找到任何编码示例,而且我得到了奇怪的结果.
鉴于此表:
mysql> describe test_runs;
+------------------+-------------+------+-----+---------------------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------------+-------------+------+-----+---------------------+-------+
| start_time_stamp | timestamp | NO | PRI | 0000-00-00 00:00:00 | |
| end_time_stamp | timestamp | NO | | 0000-00-00 00:00:00 | |
| description | varchar(64) | NO | | NULL | |
+------------------+-------------+------+-----+---------------------+-------+
3 rows in set (0.02 sec)
Run Code Online (Sandbox Code Playgroud)
我喜欢:
SELECT CURRENT_TIMESTAMP- 它应该是什么类型的?TSQLTimeStamp?start_time_stamp=上面的变量end_time_stamp=一些"NULL"值..."0000-00-00 00:00:00"?我可以直接使用它,还是需要声明a TSQLTimeStamp并将每个字段设置为零?(似乎没有TSQLTimeStamp.Clear;- 它是一个结构,而不是一个类end_time_stamp测试完成时请问somene请指出一个带有一些Delphi代码的URL,我可以研究一下,看看如何做这类事情?GINMF.
我不知道为什么你想用那个TIMESTAMP来解决这个问题,以及为什么你想要检索CURRENT_TIMESTAMP只是为了把它放回去.
如前所述,将TIMESTAMP字段用作PRIMARY KEY并不是一个好建议.
所以我的建议是使用这个TABLE SCHEMA
CREATE TABLE `test_runs` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`start_time_stamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`end_time_stamp` timestamp NULL DEFAULT NULL,
`description` varchar(64) NOT NULL,
PRIMARY KEY (`id`)
);
Run Code Online (Sandbox Code Playgroud)
开始测试运行由
INSERT INTO test_runs ( description ) VALUES ( :description );
SELECT LAST_INSERT_ID() AS id;
Run Code Online (Sandbox Code Playgroud)
并完成你简单的电话记录
UPDATE test_runs SET end_time_stamp = CURRENT_TIMESTAMP WHERE id = :id
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
744 次 |
| 最近记录: |