Quando usamos o mecanismos de armazenamento MyISAM, o MySQL utiliza travamento de tabela extremamente rápidos (múltiplas leituras / única escrita). O maior problema com este tipo de tabela ocorre quando você tem uma mistura do fluxo fixo de atualizações e seleções lentas na mesma tabela. Se isto for um problema com algumas tabelas, você pode usa outro tipo de tabela. See Capítulo 7, Tipos de Tabela do MySQL.
O MySQL pode trabalhar com tabelas transacionais e não transacionais. Para trabalhar sem problemas com tabelas não transacionais (nas quais não se pode fazer um rollback se alguma coisa der errada), o MySQL tem as seguintes regras:
Todas as colunas possuem valor padrão.
Se você inserir um valor 'errado' em uma coluna, como um
NULL
em uma coluna NOT
NULL
ou um valor numérico muito grande em uma
coluna numérica, o MySQL definir a coluna com o 'melhor
valor possível' em vez de dar um erro. Para valores
numéricos isto é 0, o menor valor possível ou o maior
valor possível. Para strings into é tanto uma string vazia
quanto a maior string possível que possa estar na coluna.
Todas as expressões calculadas retornam um valor que pode
ser usado em vez de apresentar uma condição de erro. Por
exemplo, 1/0 retorna NULL
Para mais informações sobre isto, veja See Secção 1.8.5, “Como o MySQL Lida com Restrições”.
O mostrado acima quer dizer que não se deve usar o MySQL para verificar o conteúdo dos campos, mas deve se fazer isto no aplicativo.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.