2017-03-06 12 views
1

3番目のフィールドに2つの整数をデフォルト値として連結しようとしています。SQL ServerコードをMySQLに変換する

CREATE TABLE MEI_Tbl 
(
MEI_ID int PRIMARY KEY IDENTITY (1,1), 
SRC tinyint NOT NULL DEFAULT '2', 
HEI_ID AS (Cast (SRC as varchar)+ Cast (MEI_ID as varchar)) 
); 

を私は、MySQLでそれを作成しようとすると、私は2つの整数(ライン5 HEI_ID ...)の連結のための同等のものを見つけることができません:私のSQL Serverでテーブルを作成するには、正常に動作します。 ** MySQLのIDENTITY(1,1)をAUTO_INCREMENTに変更しています。 ** 私はまた、いくつかの連結メソッドを試しましたが、無駄です。

HEI_IDのデータ型を定義するとMySQLが幸せになりますが、これはvarcharとintとして実行しましたが、成功しませんでした。

SQL ServerをMySQLに変換するために、ツールキットについて読んで過ごしていました。私はMySQLでテーブルを作成したいだけです。

すべての入力をいただければ幸いです。

答えて

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 
); 

ビューからクエリを実行します。

+0

ありがとうございました!あなたの最初の文(「MySQLは計算カラムをサポートしていません」)は、私が読んだものではありません。私の研究でそれを見つけられませんでした。回避策の提案も意味があります。 – Amateur