社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  DATABASE

简单的列更改查询在MySQL 5.7中不起作用

Artur Stępień • 6 年前 • 2040 次点击  

我有一个由MySQL Workbench 8创建的更新查询,如下所示:

-- MySQL Workbench Synchronization
-- Generated: 2019-12-16 00:30
-- Model: New Model
-- Version: 1.0
-- Project: Name of the project
-- Author: user0

SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='ALLOW_INVALID_DATES';

ALTER TABLE `best_bpgallery`.`k96qw_bpgallery_images` 
CHANGE COLUMN `language` `language` NCHAR(7) CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_unicode_ci' NOT NULL DEFAULT '*' ;


SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;

对我来说它看起来很好,但是当我运行它时失败了:

Executing SQL script in server
ERROR: Error 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 'CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_unicode_ci' NOT NULL DEFAULT '*'' at line 2
SQL Code:
        ALTER TABLE `best_bpgallery`.`k96qw_bpgallery_images` 
        CHANGE COLUMN `language` `language` NCHAR(7) CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_unicode_ci' NOT NULL DEFAULT '*' 

SQL script execution finished: statements: 3 succeeded, 1 failed

Fetching back view definitions in final form.
Nothing to fetch

我甚至把这个问题和 ALTER TABLE documentation 我觉得很好。怎么回事?我错过了什么?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/51345
文章 [ 1 ]  |  最新文章 6 年前