Recentemente tenho trabalhado na conversão do MS SQL Server para MySQL. Resumi algumas experiências e compartilhei com vocês. Ao mesmo tempo, estes serão continuamente atualizados. Também espero que você possa adicionar mais. 1 O MySQL suporta tipos enum e set, mas o SQL Server não os suporta.
2 MySQL não suporta tipos nchar, nvarchar, ntext
3 A instrução de incremento do MySQL é AUTO_INCREMENT, enquanto o MS SQL é identidade(1,1)
4 O valor padrão da instrução de criação de tabela do MS SQL é ((0)), mas no MySQL, dois parênteses não são permitidos.
5 MySQL precisa especificar o tipo de armazenamento para a tabela
6 O identificador MS SQL é [], [type], o que significa que é diferente das palavras-chave, mas MySQL é `, que é o símbolo à esquerda do botão 1
7 MS SQL suporta o método getdate() para obter a hora e a data atuais, mas o MySQL pode ser dividido em tipo de data e tipo de hora. A data atual é cur_date() e a hora completa atual é a função now().
8 O MS SQL não suporta a instrução replace into, mas no sql20008 mais recente, a sintaxe de mesclagem também é suportada.
9 O MySQL suporta inserção na tabela1 set t1 = '', t2 = '', mas o MS SQL não suporta escrita desta forma.
10 MySQL suporta inserção em valores tabl1 (1,1), (1,1), (1,1), (1,1), (1,1), (1,1), (1,1)
11 MS SQL não suporta a instrução limit, o que é muito lamentável. Você só pode usar top para substituir o limite 0,N e a função row_number() over() para substituir o limite N,M.
12 O MySQL deve especificar um tipo de mecanismo de armazenamento para cada tabela ao criar uma tabela, enquanto o MS SQL suporta apenas um mecanismo de armazenamento
13 O MySQL não suporta o tipo datetime cujo valor padrão é a hora atual (o MS SQL é fácil de fazer).
14 Para verificar se esta tabela existe no MS SQL e excluí-la, você precisa fazer o seguinte:
se existir (selecione * em dbo.sysobjects onde id = object_id(N'uc_newpm') e OBJECTPROPERTY(id,N'IsUserTable')=1) Mas no MySQL apenas DROP TABLE IF EXISTS cdb_forums;
Mas no MySQL você só precisa de DROP TABLE IF EXISTS cdb_forums;
15 O MySQL suporta números inteiros não assinados, portanto pode armazenar o dobro de números máximos que o MS SQL, que não suporta números inteiros não assinados.
16 MySQL não suporta o tipo varchar(max) muito conveniente no MS SQL. Este tipo pode ser usado tanto para armazenamento de dados gerais quanto para armazenamento de dados blob no MS SQL.
17 Para criar um índice não clusterizado no MySQL, você só precisa especificá-lo como a chave ao criar a tabela. Por exemplo: KEY displayorder (fid, displayorder).
crie indexindex_uc_protectedmembers_username_appid exclusivo não clusterizado em dbo.uc_protectedmembers (nome de usuário asc, appid asc)
18 O tipo de campo de texto MySQL não permite valores padrão
19O comprimento total do campo de uma tabela MySQL não excede 65XXX.
20 Uma diferença muito superficial é que a instalação do MySQL é muito simples e o tamanho do arquivo é de apenas 110M (versão sem instalação Comparado com a gigante Microsoft, o progresso da instalação é simplesmente...).
21MySQL possui várias ferramentas de gerenciamento melhores, incluindo MySQL_front e o pacote oficial, mas elas não são tão fáceis de usar quanto o SSMS. Esta é uma grande deficiência do MySQL.
Os procedimentos armazenados do 22MySQL aparecem apenas na versão mais recente e a estabilidade e o desempenho podem não ser tão bons quanto o MS SQL.
23 Sob a mesma pressão de carga, o MySQL consome menos CPU e memória, enquanto o MS SQL consome muito recursos.
24php possui métodos semelhantes de conexão com MySQL e MS SQL. Você só precisa substituir a função MySQL por MS SQL.
25MySQL suporta tipos de data, hora e ano. MS SQL suporta apenas data e hora em 2008.