相关疑难解决方法(0)

如何为MySQL Datetime列设置默认值?

如何为MySQL Datetime列设置默认值?

在SQL Server中它是getdate().什么是MySQL的等价物?如果这是一个因素,我正在使用MySQL 5.x.

mysql datetime

851
推荐指数
19
解决办法
121万
查看次数

Rails 4:可用数据类型列表

我在哪里可以找到可以在Ruby on Rails 4中使用的数据类型列表?如

  • text
  • string
  • integer
  • float
  • date

我一直在学习新的,我很想有一个我可以轻易参考的清单.

ruby ruby-on-rails ruby-on-rails-4 rails-activerecord

395
推荐指数
5
解决办法
28万
查看次数

将NOW()设置为datetime数据类型的默认值?

我在表用户中有两列,registerDate and lastVisitDate它们包含日期时间数据类型.我想做以下几点.

  1. 将registerDate默认值设置为MySQL NOW()
  2. 将lastVisitDate默认值设置为默认0000-00-00 00:00:00使用的null而不是null.

因为表已经存在并且有现有记录,所以我想使用Modify表.我尝试过使用下面的两段代码,但都不行.

ALTER TABLE users MODIFY registerDate datetime DEFAULT NOW()
ALTER TABLE users MODIFY registerDate datetime DEFAULT CURRENT_TIMESTAMP;
Run Code Online (Sandbox Code Playgroud)

它给了我错误: ERROR 1067 (42000): Invalid default value for 'registerDate'

我可以在MySQL中将默认日期时间值设置为NOW()吗?

mysql sql datetime mysql-error-1067

190
推荐指数
5
解决办法
44万
查看次数

何时使用datetime或timestamp

我搜索过这个但没有明确的答案(特别是关于后者).在什么情况下你应该使用日期时间或时间戳?

mysql datetime timestamp

71
推荐指数
3
解决办法
7万
查看次数

如何在MySql中的DATETIME字段的日期部分创建索引

如何在DATETIME字段的日期部分创建索引?

mysql> SHOW COLUMNS FROM transactionlist;
+-------------------+------------------+------+-----+---------+----------------+
| Field             | Type             | Null | Key | Default | Extra          |
+-------------------+------------------+------+-----+---------+----------------+
| TransactionNumber | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| WagerId           | int(11)          | YES  | MUL | 0       |                |
| TranNum           | int(11)          | YES  | MUL | 0       |                |
| TranDateTime      | datetime         | NO   |     | NULL    |                |
| Amount            | double           | YES  |     | 0       | …
Run Code Online (Sandbox Code Playgroud)

mysql

67
推荐指数
5
解决办法
6万
查看次数

MySQL时区变化?

如何将当前UTC中的时区更改为GMT +1,正确的行是什么,我只是在phpMyAdmin SQL执行中输入它?

我的主人刚给了我这个链接http://dev.mysql.com/doc/refman/5.1/en/time-zone-support.html然后就去了所以我有点失落谢谢

mysql timezone

44
推荐指数
4
解决办法
11万
查看次数

使用MySQL的TIMESTAMP直接存储时间戳

关于以MySQL的TIMESTAMP格式保存日期和时间值与自定义UNSIGNED INT格式相比,我处于两难境地.这里主要考虑的是检索速度,PHP中适当的范围计算以及偶尔格式化为人类可读取的值.

每种类型所需的存储空间及其范围:

DATETIME        8 bytes  '1000-01-01 00:00:00' to '9999-12-31 23:59:59'
TIMESTAMP       4 bytes  '1970-01-01 00:00:01' UTC to '2038-01-19 03:14:07' UTC
UNSIGNED INT    4 bytes  (Maximum Value 4294967295)
Run Code Online (Sandbox Code Playgroud)

我根本不需要DATETIME的范围.我在TIMESTAMP和UNSIGNED INT之间徘徊.

有利于UNSIGNED INT的论据:

  • UNIX时间戳4294967295转换为Sun,格林威治标准时间2月7日2106 06:28:15这超过了TIMESTAMP,对我来说足够好了
  • 直接在PHP中比较这些时间戳会更快,而不是通过strtotime()转换TIMESTAMPs然后比较它们

TIMESTAMP给我的唯一好处是当我手动读取mysql表中的值并需要"看到"它们时.

是否有任何令人信服的理由使用TIMESTAMP而不是UNSIGNED INT?

php mysql datetime timestamp unsigned-integer

37
推荐指数
3
解决办法
2万
查看次数

MySQL:什么是最好用的,Unix TimeStamp或DATETIME

可能很多程序员都想问这个问题.它是每种MySQL时间格式的冒险之源.以及您希望在应用中使用哪一个.

对我来说,我使用Unix时间戳,因为也许我觉得转换和订购记录很容易,也因为我从来没有尝试过DATETIME的事情.但无论如何,如果有人告诉我我错了,我准备改变主意.

谢谢

php mysql datetime unix-timestamp

28
推荐指数
3
解决办法
2万
查看次数

如何使用预准备语句设置当前日期和时间?

我在数据库中有一个具有数据类型的列DATETIME.我想使用`PreparedStatement将此列值设置为当前日期和时间.我怎么做?

java datetime jdbc prepared-statement

26
推荐指数
1
解决办法
7万
查看次数

将MySQL日期时间转换为时间戳

我试图将datetime转换为时间戳,但mysql给我警告,并且转换后的值也是错误的.这是SQL查询

UPDATE table1 A, table2 B SET B.date_added=UNIX_TIMESTAMP(STR_TO_DATE(A.date_added, '%M %d %Y %h:%i%p')) WHERE A.id=B.id;
Run Code Online (Sandbox Code Playgroud)

警告

+---------+------+--------------------------------------------------------------------------+
| Level   | Code | Message                                                                  |
+---------+------+--------------------------------------------------------------------------+
| Warning | 1411 | Incorrect datetime value: '2011-06-11 20:29:02' for function str_to_date |
+---------+------+--------------------------------------------------------------------------+
Run Code Online (Sandbox Code Playgroud)

结果

+---------------------+---------------------+
| date_added          | date_added          |
+---------------------+---------------------+
| 2012-02-23 06:12:45 | 2012-12-23 19:08:33 |
+---------------------+---------------------+
Run Code Online (Sandbox Code Playgroud)

我也尝试了以下查询,但它显示时间戳字段中的00:00:00.

UPDATE table1 A, table2 B SET B.date_added=UNIX_TIMESTAMP(A.date_added) WHERE A.id=B.id;
Run Code Online (Sandbox Code Playgroud)

mysql datetime timestamp

26
推荐指数
3
解决办法
7万
查看次数