使用TIMESTAMPDIFF创建表mysql

时间:2017-12-28 15:52:15

标签: mysql sql-server

我正在将我现在使用sql server的系统中的一些表转换为mysql,并且我在mysql中有一个问题如何创建一个包含TIMESTAMPDIFF的表

Sql Server表:

dynamic message = new JObject();
message.ErrorMessage = "";
message.ErrorDetails = new JObject();
message.ErrorDetails.ErrorId = 111;
message.ErrorDetails.Description = new JObject();
message.ErrorDetails.Description.Short = 0;

Console.WriteLine(message.ToString());

// Ouputs:
// { 
//   "ErrorMessage": "",
//   "ErrorDetails": {
//     "ErrorID": 111,
//     "Description": {
//       "Short": 0
// .....  

Mysql表:

CREATE TABLE [dbo].[login_user](
    [idx] [int] IDENTITY(1,1) NOT NULL,
    [client_id] [int] NOT NULL,
    [Login] [datetime] NULL,
    [Logout] [datetime] NULL,
    [Time]  AS (datediff(second,[Login],[Logout])),

由于TIMESTAMPDIFF,在创建表时如何处理这个问题,是不是正在创建mysql中的表?

我的mysql是版本5.7.20

图片错误:

enter image description here

1 个答案:

答案 0 :(得分:0)

以下语法适用于MySQL 5.7

CREATE TABLE IF NOT EXISTS `login_user` (
  `idx` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
  `client_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
  `login` DATETIME NULL,
  `Logout` DATETIME NULL,
  `Time` INT(11) AS (TIMESTAMPDIFF(second,`login`,`Logout`)),
   PRIMARY KEY (`idx`)
) ENGINE=MyISAM;