1

我正在将一个小型数据库从 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)
 )

我对最后三个没有信心......
是否有任何潜在的数据以这种方式丢失?

4

1 回答 1

1

对我来说看起来不错,除了date_createdversion:我会选择bigint(64 位,UNIX 时间戳从 32 位扩大到 64 位)或timestamp--- MSSQL int 是 4 字节(32 位)。您还应该检查是否也需要 64 位整数version

于 2013-01-22T14:33:35.133 回答