c# - 如何解决 Asp.Net 3.0 将数据库从 SQLite 迁移到 MySQL 的问题?

标签 c# mysql .net

我正在尝试将我的数据库从 sql lite 迁移到 mysql,当我运行我的代码时,我遇到了这些问题。

下面是我的输出

      Failed executing DbCommand (0ms) [Parameters=[], CommandType='Text', CommandTimeout='30']
      ALTER TABLE `Users` ADD `Created` TEXT NOT NULL DEFAULT '0001-01-01 00:00:00.000000';
fail: DatingApp.API.Program[0]
      An error occured during migration
MySql.Data.MySqlClient.MySqlException (0x80004005): BLOB, TEXT, GEOMETRY or JSON column 'Created' can't have a default value
 ---> MySql.Data.MySqlClient.MySqlException (0x80004005): BLOB, TEXT, GEOMETRY or JSON column 'Created' can't have a default value
   at MySqlConnector.Core.ResultSet.ReadResultSetHeaderAsync(IOBehavior ioBehavior) in C:\projects\mysqlconnector\src\MySqlConnector\Core\Result
Set.cs:line 49
   at MySql.Data.MySqlClient.MySqlDataReader.ActivateResultSet() in C:\projects\mysqlconnector\src\MySqlConnector\MySql.Data.MySqlClient\MySqlDa
taReader.cs:line 125
   at MySql.Data.MySqlClient.MySqlDataReader.CreateAsync(CommandListPosition commandListPosition, ICommandPayloadCreator payloadCreator, IDictio
nary`2 cachedProcedures, IMySqlCommand command, CommandBehavior behavior, IOBehavior ioBehavior, CancellationToken cancellationToken) in C:\proj
ects\mysqlconnector\src\MySqlConnector\MySql.Data.MySqlClient\MySqlDataReader.cs:line 338
   at MySqlConnector.Core.CommandExecutor.ExecuteReaderAsync(IReadOnlyList`1 commands, ICommandPayloadCreator payloadCreator, CommandBehavior be
havior, IOBehavior ioBehavior, CancellationToken cancellationToken) in C:\projects\mysqlconnector\src\MySqlConnector\Core\CommandExecutor.cs:lin
e 63
   at MySql.Data.MySqlClient.MySqlCommand.ExecuteNonQueryAsync(IOBehavior ioBehavior, CancellationToken cancellationToken) in C:\projects\mysqlc
onnector\src\MySqlConnector\MySql.Data.MySqlClient\MySqlCommand.cs:line 227
   at MySql.Data.MySqlClient.MySqlCommand.ExecuteNonQuery() in C:\projects\mysqlconnector\src\MySqlConnector\MySql.Data.MySqlClient\MySqlCommand
.cs:line 75
   at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteNonQuery(RelationalCommandParameterObject parameterObject)
   at Microsoft.EntityFrameworkCore.Migrations.MigrationCommand.ExecuteNonQuery(IRelationalConnection connection, IReadOnlyDictionary`2 paramete
rValues)
   at Microsoft.EntityFrameworkCore.Migrations.Internal.MigrationCommandExecutor.ExecuteNonQuery(IEnumerable`1 migrationCommands, IRelationalCon
nection connection)
   at Microsoft.EntityFrameworkCore.Migrations.Internal.Migrator.Migrate(String targetMigration)
   at Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions.Migrate(DatabaseFacade databaseFacade)
   at DatingApp.API.Program.Main(String[] args) in /Users/.../DatingApp/DatingApp.API/Program.cs:line 26 ```

最佳答案

sql命令

ALTER TABLE `Users` ADD `Created` TEXT NOT NULL DEFAULT '0001-01-01 00:00:00.000000';

报错

Error Code: 1101. BLOB, TEXT, GEOMETRY or JSON column 'Created' can't have a default value

因此您必须更改列类型或松开默认值

关于c# - 如何解决 Asp.Net 3.0 将数据库从 SQLite 迁移到 MySQL 的问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58649206/

相关文章:

c# - XML反序列化失败

C# 如何正确地对遵循装饰器模式的类进行单元测试?

c# - 如何获取azure webjob/console应用程序的当前路径

c# - 带有双引号的 JSON 反序列化问题

mysql - 如何正确编写此 SQL 语句

MySQL 选择需要很长时间

c# - 从 .NET 正则表达式对象获取命名组子模式

c# - Web Api 2 中的模型 [FromBody] 和 Guid 映射

javascript - 获取 WebBrowser 控件的正确页面高度

mysql - 在这种情况下 OR 和 UNION ALL 之间的区别