ID 3189544 Banca COPEVE-UFAL Órgão UFAL Ano 2016 Provas COPEVE-UFAL - 2016 - UFAL - Técnico de Tecnologia da Informação Disciplina Banco de Dados Assuntos MySQL SQL Considere a sequência de comandos SQL executada no prompt do Sistema Gerenciador de Banco de Dados MySQL: 1. mysql> create database Projeto; 2. mysql> use Projeto; 3. mysql> create table Pessoas(idade int, nome varchar(255)); 4. mysql> insert into Pessoas values (“Maria”, “João”); De acordo com os comandos apresentados, é correto afirmar: Alternativas o MySQL não executa o comando da Linha 4, apresentando um erro de sintaxe. Para corrigi-lo, bastaria inverter o comando, passando a ser: insert values (“Maria”, “João”) into Pessoas. os dados “Maria” e “João” serão armazenados nas colunas idade e nome, respectivamente, exatamente com os valores “Maria” e “João”, uma vez que o MySQL converte para o tipo de dados. o MySQL não executa o comando da Linha 4, apresentando um erro de semântica denominado NoSuchTypeError; logo, para corrigi-lo, bastaria alterar o valor ‘Maria’ para qualquer valor do tipo inteiro. há um erro de sintaxe na Linha 3, pois o nome da coluna e o respectivo tipo de dados deveriam ser colocados na ordem invertida. Além disso, o tipo inteiro deve ser integer, resultando no comando final create table Pessoas(integer idade, varchar(255) nome);. os dados “Maria” e “João” serão armazenados nas colunas idade e nome, respectivamente, porém com os valores “0” e “João”, respectivamente. Para evitar essa inconsistência de dados entre inteiro e sequência de caracteres, bastaria executar o comando set Sql_Mode = 'strict_all_tables';. Responder Comentários Faltou informar que essa configuração é somente para o modo não transacional. Em outras palavras, quem não usa a engine InnoDB. Nessa engine não é permitido inserir valor invalido. Em não transacionais, strict_trans_tables permite inserir linhas, emitindo um aviso se houver um valor inválido, mas convertendo-o silenciosamente. A opção strict_all_tables interrompe a inserção ou atualização assim que houver uma linha inválida e gera um erro. https://www.noelherrick.com/blog/mysql-strict_all_tables-vs-strict_trans_tableshttps://dev.mysql.com/doc/refman/8.0/en/sql-mode.html#sql-mode-strict Um outro ponto é que não posso adicionar varchar usando aspas duplas. Precisa ser aspas simples.Aspas duplas é para identificar coluna