鍍金池/ 問(wèn)答/數(shù)據(jù)庫(kù)/ mysql問(wèn)題求助

mysql問(wèn)題求助

CREATE TABLE IF NOT EXISTS tdb_goods(
    goods_id    SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
    goods_name  VARCHAR(150) NOT NULL,
    goods_cate  VARCHAR(40)  NOT NULL,
    brand_name  VARCHAR(40)  NOT NULL,
    goods_price DECIMAL(15,3) UNSIGNED NOT NULL DEFAULT 0,
    is_show     BOOLEAN NOT NULL DEFAULT 1,
    is_saleoff  BOOLEAN NOT NULL DEFAULT 0
  );

創(chuàng)建了一個(gè)數(shù)據(jù)表,然后寫(xiě)入記錄:

INSERT tdb_goods (goods_name,goods_cate,brand_name,goods_price,is_show,is_saleoff) VALUES('R510VC 15.6英寸筆記本','筆記本','華碩','3399',DEFAULT,DEFAULT);

報(bào)錯(cuò):

ERROR 1366 (HY000): Incorrect string value: '\xE8\x8B\xB1\xE5\xAF\xB8...' for column 'goods_name' at row 1

SET NAMES GBK; 也不行,請(qǐng)問(wèn)如何解決

回答
編輯回答
影魅

你可以看看你的表編碼應(yīng)該是latin,建表的時(shí)候如果不指定編碼則mysql會(huì)使用全局的默認(rèn)數(shù)據(jù)庫(kù)編碼。
建議你修改下你建表的SQL指定下編碼:

CREATE TABLE IF NOT EXISTS tdb_goods(
    goods_id    SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
    goods_name  VARCHAR(150) NOT NULL,
    goods_cate  VARCHAR(40)  NOT NULL,
    brand_name  VARCHAR(40)  NOT NULL,
    goods_price DECIMAL(15,3) UNSIGNED NOT NULL DEFAULT 0,
    is_show     BOOLEAN NOT NULL DEFAULT 1,
    is_saleoff  BOOLEAN NOT NULL DEFAULT 0
  ) CHARSET=utf8;

要支持特殊編碼那么也建議你考慮utf8mb4編碼。

2017年6月3日 17:43