Sql-server – Migration of create statement from SQL Server to MySQL

MySQLsql server

I have a table that have the following table structure

CREATE TABLE [dbo].[ASAT](
  [ID] [bigint] IDENTITY(1,1) NOT NULL,
  [ASATID]  AS ('ASAT'+right('00000000000000000000'
  +CONVERT([varchar](19),[ID],0),(20))) PERSISTED NOT NULL,
  [Created] [nvarchar](8) NOT NULL DEFAULT (CONVERT([varchar],dateadd(year,
  (0),getdate()),(112)))
) ON [PRIMARY]

When I used the MySQL Migration Wizard to convert the above Microsoft database table structure, I got errors that both datatype for my fields ASATID and Created was not supported (in MySQL).

What are the recommended ways to proceed such data type differences when performing a database migration from SQL Server to MySQL?

Best Answer

This answer will apply to your question : Insert Value based on One Column based on Value on another Column

AFAIK, and based on the link posted, you cannot create a computed column in MySQL. You should either:

  • Do the calculation outside of the database, when inserting OR
  • Create a trigger on the table to populate the value for you OR
  • Create a view to represent the data in the way you want.