我正在尝试解决此迁移历史记录问题,但无法使其在 MySQL 中工作
SELECT *
INTO [TempMigrationHistory]
FROM [__MigrationHistory]
DROP TABLE [__MigrationHistory]
EXEC sp_rename 'TempMigrationHistory', '__MigrationHistory'
我将如何在 mySQL 中使用它?
我正在尝试解决此迁移历史记录问题,但无法使其在 MySQL 中工作
SELECT *
INTO [TempMigrationHistory]
FROM [__MigrationHistory]
DROP TABLE [__MigrationHistory]
EXEC sp_rename 'TempMigrationHistory', '__MigrationHistory'
我将如何在 mySQL 中使用它?
并非所有 RDBMS 的行为都相同。您是否考虑过搜索用于创建INSERT
语句的 MySQL 语法?例如,
INSERT INTO TempMigrationHistory
(Col1,
Col2,
Col3)
SELECT Col1,
Col2,
Col3
FROM __MigrationHistory
此外,sp_rename 是一个 SQL Server 存储过程。MySQL 中的等价物是RENAME
. 在您的情况下,这可能会起作用:
RENAME TABLE TempMigrationHistory TO __MigrationHistory;
提供的 SQL Server t-sql 的一个近似等效的 mysql SQL 类似于此处的内容。(显然 field1、field2 是占位符。)
CREATE TABLE `TempMigrationHistory` LIKE `__MigrationHistory`;
INSERT INTO `TempMigrationHistory` (field1, field2)
SELECT field1, field2
FROM `__MigrationHistory`;
DROP TABLE `__MigrationHistory`;
RENAME TABLE `TempMigrationHistory` to `__MigrationHistory`;
注意事项...
在这一系列操作结束时,您似乎完全拥有您开始的东西,所以我对执行这一系列事件的愿望有点困惑,但我想这与您的问题相切。