1

我有一个 mySQL 数据库,一旦登录,它就会从在线用户那里接收数据。数据表是这样创建的......

CREATE TABLE   
IF NOT EXISTS `results` (
       `id` INT(11) NOT NULL AUTO_INCREMENT,
       `patient_id` CHAR(10) NOT NULL,
       `login_id` CHAR(7) NOT NULL,
       `result_date` date NOT NULL,
       `result` VARCHAR(4) NOT NULL,
       created_at TIMESTAMP NOT NULL,
       PRIMARY KEY(`id`)
   ) DEFAULT CHARSET = utf8 COMMENT = 'List of Member Test Results'
    ;

完成后,我们的 IT 经理决定更改我的数据库和 PHP 代码,以便他可以轻松地将数据提取到他的 SQL Server 数据库中。我的问题有两个,这是否必要,这样做是否存在潜在问题。

他改变的东西;将 result_date 从 a 更改date为其他数据类型,因此他可以在我的端以 SQL Server 格式输入。他更改了时间戳/创建时间,因此他的更改不会更新时间戳,并且他添加了一个布尔/计数器列,因此他的数据库知道它是否已从该行中提取。此外,他添加了第三个日期(日期类字段为非日期类型),因此当他从我的数据库中提取时,他可以标记那个时间。

对我来说,这不仅看起来有点矫枉过正,而且还迫使我允许更改我的数据库。最后,我被骂“你为什么要使用created_at timestamp NOT NULL”。不想在这件事上找人,但这个问题让我有点困惑。

4

2 回答 2

2

正如其他人在评论中指出的那样,您的 IT 经理确实看起来不那么敏锐。为了简化他的事情,他为什么不直接在 ImportIDFromMySQL 的 SQL 表中添加一列并使用您的自动增量。在那里,他有或没有。至于关心日期/时间戳,他应该只将额外的列添加到他的“漂亮”表中,而不要管你的生产内容。

有时 bean-counter 经理真的可以应付。

于 2013-01-23T04:49:36.200 回答
1

更改数据库并进行更改是可以的。但是,我的建议是创建镜像数据库,然后他可以在镜像数据库上做他想做的事。改变数据库的结构可能会导致许多层面的许多问题。在更改、删除、截断或使用与删除和更新语句相关的任何功能之前,请始终备份您的数据库。

您的 IT 经理应该已经创建了一个镜像数据库。好吧,继续前进,他仍然可以。

于 2013-01-23T04:46:33.800 回答