zoukankan      html  css  js  c++  java
  • mysql数据库之编码重新设置

    最近在使用使用mysql数据库的存储过程的时候,发现一些问题,数据库编码和表格、字段的编码不一致

    导致运行的时候出现问题,错误提示:1267 - Illegal mix of collations

    通过网上的一些方法解决了数据库系统本身的编码,还有边个的编码,但还是没有解决问题,

    然后建表的语句导出来看看:

    CREATE TABLE `dev_info` (
    `id`  int(11) NOT NULL AUTO_INCREMENT ,
    `dev_id`  int(10) NOT NULL ,
    `dev_sta`  int(5) NOT NULL ,
    `sta_name`  varchar(5) CHARACTER SET A COLLATE A_ci NOT NULL ,
    `sessionID`  varchar(50) CHARACTER SET A COLLATE A_ci NULL DEFAULT NULL ,
    PRIMARY KEY (`id`)
    )
    ENGINE=InnoDB
    DEFAULT CHARACTER SET=gb2312 COLLATE=gb2312_chinese_ci
    AUTO_INCREMENT=13
    ROW_FORMAT=COMPACT
    ;

    编码 A A_ci 只是我举个例子的啊,就是和
    gb2312 不一样的编码,
    
    
    
    

    发现问题了,虽然数据库和表格的编码都是一样了,但是字段的编码还不一样,所以需要重新建立表格,

    建表:
    
    CREATE TABLE `dev_info` (
    `id`  int(11) NOT NULL AUTO_INCREMENT ,
    `dev_id`  int(10) NOT NULL ,
    `dev_sta`  int(5) NOT NULL ,
    `sta_name`  varchar(5) CHARACTER SET gb2312 COLLATE gb2312_chinese_ci NOT NULL ,
    `sessionID`  varchar(50) CHARACTER SET gb2312 COLLATE gb2312_chinese_ci NULL DEFAULT NULL ,
    PRIMARY KEY (`id`)
    )
    ENGINE=InnoDB
    DEFAULT CHARACTER SET=gb2312 COLLATE=gb2312_chinese_ci
    AUTO_INCREMENT=13
    ROW_FORMAT=COMPACT
    ;

    这样就解决问题了,不需要重装什么数据库,

    我发现问题是写的一个存储过程里面出现的,顺便把存储过程放出来,就是实现两个字符串的比较

    CREATE DEFINER = `root`@`localhost` PROCEDURE `NewProc`(IN `app_dev_id` int,OUT `app_session_id` varchar(50))
    BEGIN
        #Routine body goes here...
    DECLARE var INT;
    SET var = (SELECT COUNT(*) FROM mysql_proce.dev_info WHERE dev_id=app_dev_id);
    
    IF var=1 THEN
        SELECT sessionID INTO app_session_id FROM mysql_proce.dev_info WHERE dev_id=app_dev_id;
    END IF;
    END;
  • 相关阅读:
    NW开发教程系列六:表头和表体(多表体)
    Java 正则表达式 量词 --- 三种匹配模式【贪婪型、勉强型、占有型】
    信号量与PV操作
    java的(PO,VO,TO,BO,DAO,POJO)解释
    使用Application对象简单完成网站总访问人数的统计
    更新记录后关闭子窗口并刷新父窗口的Javascript
    jquery jqPlot API 中文使用教程
    一款基于bootstrap的datetimepicker
    2013杭州赛区Ants hdu4776
    openGL中的函数调用类成员函数
  • 原文地址:https://www.cnblogs.com/craigtao/p/3997702.html
Copyright © 2011-2022 走看看