我正在尝试将我的数据库从 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/