【问题标题】:MYSQL to MSSQL Code Conversion [closed]MYSQL 到 MSSQL 代码转换 [关闭]
【发布时间】:2016-04-08 12:23:13
【问题描述】:

我有一个来自 MYSQL 的代码 sn-p,它创建了 2 个表,它们之间有一个约束,再加上一些要插入其中一个表的数据。

我想等效转换为 MSSQL。我尝试了迁移,但它一直给我一个转换错误,我无法弄清楚问题出在哪里,因为在 mysql 上这段代码工作正常。

CREATE TABLE `tbl_variable_types`
(
 `variable_type_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
 `variable_type` varchar(10) DEFAULT NULL,
  PRIMARY KEY (`variable_type_id`),
  UNIQUE KEY `variable_type_id_UNIQUE` (`variable_type_id`)
) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8;

INSERT INTO `tbl_variable_types` VALUES 
  (1,'BOOL'),(2,'BYTE'),(3,'WORD'),(4,'DWORD'),
  (5,'SINT'),(6,'INT'),(7,'DINT'),(8,'LINT'),(9,'USINT'),(10,'UINT'),
  (11,'UDINT'),(12,'ULINT'),(13,'REAL'),(14,'LREAL'),(15,'STRING');

CREATE TABLE `tbl_variables`
(
 `variable_tag_id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'Unique tag id to be used when calling variable in the code',  
 `variable_name` varchar(100) NOT NULL COMMENT 'Variable string name from the plc CASE SENSITIVE', 
 `variable_type` int(11) unsigned NOT NULL COMMENT 'The variable type from the twin table',  
 PRIMARY KEY (`variable_tag_id`),  
 UNIQUE KEY `variable_tag_id_UNIQUE` (`variable_tag_id`),  
 KEY `c_var_type_idx` (`variable_type`),  
 CONSTRAINT `c_var_type` FOREIGN KEY (`variable_type`) 
     REFERENCES `tbl_variable_types` (`variable_type_id`) 
     ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

如何将此代码转换为 SQL Server?

【问题讨论】:

  • 如果您不向我们展示 MSSQL 版本和错误,我们将无法真正帮助解决该错误。
  • 添加错误和版​​本

标签: mysql sql-server


【解决方案1】:

您是否在寻找以下查询

CREATE TABLE tbl_variable_types 
(
    variable_type_id int PRIMARY KEY NOT NULL Identity(1,1),  
    variable_type varchar(10) DEFAULT NULL
)  
INSERT INTO tbl_variable_types VALUES (1,'BOOL'),(2,'BYTE'),(3,'WORD'),(4,'DWORD'),(5,'SINT'),(6,'INT'),
                (7,'DINT'),(8,'LINT'),(9,'USINT'),(10,'UINT'),(11,'UDINT'),(12,'ULINT'),(13,'REAL'),
                (14,'LREAL'),(15,'STRING');

CREATE TABLE tbl_variables 
(  
    variable_tag_id int NOT NULL IDentity (1,1) PRIMARY KEY ,
    variable_name varchar(100) NOT NULL,  
    variable_type int NOT NULL REFERENCES tbl_variable_types (variable_type_id),  
);

用于添加列注释

EXEC sp_addextendedproperty 
@name = N'Description', @value = 'Hey, here is my description!',
@level0type = N'Schema', @level0name = yourschema,
@level1type = N'Table',  @level1name = YourTable,
@level2type = N'Column', @level2name = yourColumn;
GO

【讨论】:

  • 似乎没问题,我将 int(10) 更改为 int 应该没问题。
猜你喜欢
  • 1970-01-01
  • 2015-07-25
  • 2011-06-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-12
相关资源
最近更新 更多