मेरे पास MySQL वर्कबेंच 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 प्रलेखन से भी की और यह मेरे लिए ठीक लग रहा है। तो क्या हो रहा है? मुझे किसकी याद आ रही है?

0
Artur Stępień 16 पद 2019, 02:40

1 उत्तर

सबसे बढ़िया उत्तर

उदाहरण के लिए आपको nchar को varchar में बदलना होगा।

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

Nchar कैरेक्टर सेट का समर्थन नहीं करता

0
nbk 15 पद 2019, 23:57