将SQL Server代码转换为MySQL

时间:2017-03-06 00:27:13

标签: mysql sql-server

我试图将两个整数连接为第三个字段中的默认值。我在SQL Server中的创建表工作正常:

2.3.0 :001 > a = Array.new(3) { [] }
 => [[], [], []]
2.3.0 :002 > a.each_with_index{ |r, idx| r << 'a' }
 => [["a"], ["a"], ["a"]]

但是当我尝试在MySQL中创建它时,我找不到两个整数连接的等价物(第5行HEI_ID ...)。 ** 我知道将MySQL的IDENTITY(1,1)更改为AUTO_INCREMENT。 ** 我也尝试了几种连接方法,但无济于事。

如果我为HEI_ID定义数据类型,MySQL似乎更高兴,我已经将varchar和int这样做了,但是再次没有成功。

我花了太多时间阅读有关将SQL Server转换为MySQL的工具包。我只想在MySQL中创建表。

任何意见都会受到赞赏。

1 个答案:

答案 0 :(得分:1)

MySQL不支持计算列。相反,您可以使用视图:

CREATE TABLE MEI_Tbl (
    MEI_ID int PRIMARY KEY AUTO_INCREMENT,
    SRC tinyint NOT NULL DEFAULT 2
);

CREATE VIEW v_MEI_Tbl as
    SELECT MEI_ID, SRC,
           CONCAT(src, mei_d) as HEI_ID 
    FROM MEI_Tbl
);

然后从视图中查询。