MySQL解决Navicat设置默认字符串时的报错问题

发布时间:2022-6-16 11:50

本文介绍用Navicat添加字段(字符串类型)并设置默认值时的报错问题。

问题描述

在Java开发过程中,经常会遇到给已有的表添加字段的场景。

在插入新字段的时候,表里边可能已经有很多数据了,这时我们最好给新插入的字段设置一个默认值,这样MySQL就会将已经存在的数据的新加字段设置为默认值。设置默认值可以增加系统的可维护性。

但我在给已有的表插入新字段(字符串类型)的时候发现报错了,本文介绍如何解决这个问题。

报错信息

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 'xxx '注释内容' AFTER `上边的列名` AT line 2

问题复现

给表插入一个字段,字段名为:confirm_status,然后设置其默认值为:UNCONFIRMED(未确认)。

结果:(报错)

原因分析

查看其SQL:

可以发现,在插入列时,默认值是:UNCONFIRMED,这个没有使用引号包起来,所以会报错。

解决方案

设置默认值时用引号包起来:

查看其SQL:(可以发现,已经用引号包起来了)

执行结果:(成功插入字段,并设置了默认值)

 

MySQL同步数据Replication的实现步骤 生活杂谈

MySQL同步数据Replication的实现步骤

MySQL提供了Replication功能,可以实现将一个数据库的数据同步到多台其他数据库。前者通常称之为主库(master),后者则被称从库(slave)。MySQL复制过程采用异步方式,但延时非常...