【发布时间】:2013-01-22 14:25:02
【问题描述】:
我正在将一个小型数据库从 MySQL 转移到 MSSQL。
当前 MySQL 示例声明: *(有意跳过 Keys 和 Not Null)
CREATE TABLE my_table(
`id` bigint(20),
`version` int(10),
`user_id` tinyint(3) unsigned, /*less then 100*/
`date_crated` int(11), /*unix time like 1334736752 */
`image_content` blob,
`xml_content` longtext /*xml with non english texts, 5000+ character*/
)
还有我的 MSSQL 变体:
CREATE TABLE [my_table](
[id] bigint,
[version] int,
[user_id] tinyint,
[date_crated] int,
[image_content] varbinary(MAX),
[xml_content] nvarchar(MAX)
)
我对最后三个没有信心...
这样会不会丢失任何潜在的数据?
【问题讨论】:
-
为什么使用整数而不是时间类型来存储日期?
-
@eggyal 日期存储为 unix 时间以支持本地化,您能否举一个“临时类型”的示例以及为什么它更好?
-
不是临时类型; temporal 类型(如,与时间有关)。例如
TIMESTAMP,将数据存储为“unix time”,但 MySQL 会知道该值的含义 - 因此它会自动调整会话的time_zone的输入/输出。
标签: mysql sql-server transfer