当前位置: 首页 > 知识库问答 >
问题:

如何更改列并更改默认值?

邹正阳
2023-03-14

在尝试更改列的数据类型并设置新的默认值时,我遇到以下错误:

ALTER TABLE foobar_data ALTER COLUMN col VARCHAR(255) NOT NULL SET DEFAULT '{}';

错误1064(42000):您的SQL语法中有错误;查看与您的MySQL server版本相对应的手册,以了解第1行“varchar(255)NOT NULL SET DEFAULT”{}“附近使用的正确语法

共有2个答案

魏康安
2023-03-14

作为后续,如果您只是想设置一个默认值,那么您可以使用ALTER..设置语法。别把其他东西都放进去。如果要将列定义的其余部分放入,请根据接受的答案使用MODIFY或CHANGE语法。

总之,设置列默认值的ALTER语法(因为这正是我来这里时要找的):

ALTER TABLE table_name ALTER COLUMN column_name SET DEFAULT 'literal';

其“literal”也可以是一个数字(例如...set DEFAULT 0)。我还没有用...set DEFAULT current_timestamp尝试过,但为什么不呢?

南门承教
2023-03-14
ALTER TABLE foobar_data MODIFY COLUMN col VARCHAR(255) NOT NULL DEFAULT '{}';

第二种可能性也是如此(多亏了juergen_d):

ALTER TABLE foobar_data CHANGE COLUMN col col VARCHAR(255) NOT NULL DEFAULT '{}';
 类似资料:
  • 问题内容: 尝试更改列的数据类型并设置新的默认值时遇到以下错误: 错误1064(42000):您的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册,以在第1行的’VARCHAR(255)NOT NULL SET DEFAULT’{}’‘附近使用正确的语法 问题答案: 同样的第二种可能性(感谢juergen_d):

  • 问题内容: 我有一个表,其中的列类型为默认值,每次更新都更新为。 我想删除此列上的“更新时”功能。如何编写alter语句? 我尝试了以下方法: 但这没用。 问题答案: 皮特几乎是正确的,但对“更改”使用了错误的语法: 请注意,您必须重复列名。另外,请确保您使用反引号而不是单引号来转义列名时间,以防止将其解释为mysql列时间类型。 通过指定CURRENT_TIMESTAMP的默认值,MySQL将不

  • 问题内容: 我使用IntelliJ IDEA作为开发环境,并使用Maven进行依赖项管理。我经常在IDEA之外构建我的项目结构(目录,poms等),然后使用将该项目导入。这很好用,除了在poms中我指定maven-compiler-plugin应该使用JDK 1.6,并且在导入时,IDEA通知我和,然后提示重新加载项目。这很烦人,因为我总是使用相同的JDK版本。 如何更改IntelliJ IDEA

  • xampp中的php.ini文件位于此处: phpinfo包含以下信息: 配置文件(php.ini)路径C:\WINDOWS 已加载的配置文件(无) 扫描此目录以获取更多信息。ini文件(无) 如何更改目录?

  • 当启动一个流浪者盒子时,“默认”这个名字来自哪里? 有没有办法设定这个?

  • 我如何更改IntelliJ IDEA使用的默认JDK,这样我就不必在每次导入新项目时重新加载我的项目了?