如何解决sql查询中的语法错误

bvpmtnay  于 2021-06-15  发布在  Mysql
关注(0)|答案(3)|浏览(373)

查询出错:

ALTER TABLE `cms_users` ADD `show_on_web` TINYINT(4)  NOT NULL  DEFAULT '1';

我得到了一个错误:
sql语法有错误;查看与您的mysql服务器版本对应的手册,以获得使用near的正确语法  非空  第1行的默认值“1”
我不确定是什么错误。
要验证查询-http://sqlfiddle.com

wtzytmuj

wtzytmuj1#

正如fa06所说,你失踪了 COLUMN 之后 ADD .
此外,还存在与默认子句不匹配的类型(引号表示varchar而不是tinyint)。
试试这个:

ALTER TABLE `cms_users` ADD COLUMN `show_on_web` TINYINT(4)  NOT NULL  DEFAULT 1;

ps:由于某些原因,sqlfiddle今天不适合我。不过,我只是尝试了以下方法:

CREATE TABLE cms_users (
    id INT
    );

ALTER TABLE `cms_users` ADD COLUMN `show_on_web` TINYINT(4) NOT NULL DEFAULT 1;

在https://paiza.io/en/languages/mysql ,并且没有显示编译错误。

fnvucqvd

fnvucqvd2#

更改为:

ALTER TABLE `cms_users` ADD COLUMN `show_on_web` TINYINT(4)  NOT NULL  DEFAULT 1;

我已经添加了一个列单词并删除了默认值的引号。
因为它是小整数,所以需要使用1而不是“1”。因为“1”是字符串。

odopli94

odopli943#

您可以在下面尝试-您需要添加列,而且默认值将是1而不是“1”,因为您的数据类型是tinyint

ALTER TABLE `cms_users` 
ADD column `show_on_web` TINYINT(4)  NOT NULL DEFAULT 1

相关问题