No exercício:
Reescrevendo o CREATE TABLE
Reescreva o CREATE TABLE do começo do curso, marcando OBSERVACOES como nulo,
valor padrão do RECEBIDO como 1, e FORMA_PAGTO como ENUM que aceita DINHEIRO, CARTAO, BOLETO.
O Gabarito indica o seguinte:
CREATE TABLE compras (
id int NOT NULL AUTO_INCREMENT,
valor double,
data datetime,
observacoes text,
recebido tinyint(1) DEFAULT 1,
forma_pagto ENUM('DINHEIRO', 'CARTAO', 'BOLETO')
PRIMARY KEY (id)
)
Escrevi(CTRL+C / CTRL+V) no terminal:
CREATE TABLE teste (id int NOT NULL AUTO_INCREMENT, valor double, data datetime, observacoes text, recebido tinyint(1) DEFAULT 1, forma_pagto ENUM('DINHEIRO', 'CARTAO', 'BOLETO') PRIMARY KEY(id));
Obtive o seguinte erro:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(id))' at line 1
Depois de algumas tentativas, acredito que esteja faltando uma vírgula antes de declarar a PRIMARY KEY.
Mas ficou uma dúvida quanto ao exercício, antes de ver o gabarito tentei fazer da seguinte forma e obtive o seguinte erro porém não consigo enxergar aonde está o erro:
mysql> CREATE TABLE teste(id int NOT NULL auto_increment primary key, valor double, data datetime, observacoes varchar(255), recebido tinyint(1) default '1', forma_pagto enum('DINHEIRO', 'CARTAO', 'BOLETO');
Erro: ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1