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

如何正确更改表默认值

许亦
2023-03-14
ALTER TABLE `mydb`.`orders` CHANGE COLUMN `date_u` DATETIME NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP '{}';

这就是我得到的错误

16:28:34    ALTER TABLE `mydb`.`orders` CHANGE COLUMN `date_u` DATETIME NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP '{}'  Error Code: 1064. 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 'NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP '{}'' at line 1  0.00041 sec

我使用的是MySQL5.7版

共有1个答案

张鹏云
2023-03-14

更改列更改可用于更改列的名称,并要求在旧名称之后提供新名称。如果不重命名列,则必须提供两次名称。您的命令试图将date_u列重命名为datetime,但在null关键字之前缺少datatype。

改为使用modify column。它是相同的,但不允许重命名,因此不要求您给列名两次。

ALTER TABLE `mydb`.`orders` MODIFY COLUMN `date_u` DATETIME NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP;

我也不确定末尾的“{}”是什么意思,但我认为这也不是有效的语法,所以我删除了它。

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

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

  • 在尝试更改列的数据类型并设置新的默认值时,我遇到以下错误: 错误1064(42000):您的SQL语法中有错误;查看与您的MySQL server版本相对应的手册,以了解第1行“varchar(255)NOT NULL SET DEFAULT”{}“附近使用的正确语法

  • 问题内容: 有一个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文件(无) 如何更改目录?