MySQL:如何插入字符" @"

时间:2018-04-26 13:28:14

标签: mysql mysql-workbench mysql-error-1064

我希望插入" @"的表的排序规则字符是latin_spanish_ci,如果我执行"显示变量,如' char%'"我有这些......

Variable_name   Value
character_set_client    utf8
character_set_connection    utf8
character_set_database  latin1
character_set_filesystem    binary
character_set_results   utf8
character_set_server    latin1
character_set_system    utf8
character_sets_dir  /usr/share/mysql/charsets/

我该如何执行:

INSERT INTO `tbl002_club` (`id`, `name`, `web`, `twitter`) VALUES (1,'C.B. AL-QAZERES','http://cbal-qazeres.blogspot.com/', '‎@CBALQAZERES')

并没有得到这个错误......

  

错误代码:1366。字符串值不正确:' \ xE2 \ x80 \ x8E @ CB ......'对于   专栏' twitter'在第1行

编辑I:

我的声明创建表:

-- -----------------------------------------------------
-- Table `tbl002_club`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `tbl002_club` ;

CREATE TABLE IF NOT EXISTS `tbl002_club` (
  `id` INT(10) UNSIGNED NOT NULL,
  `name` VARCHAR(100) NOT NULL,
  `email` VARCHAR(100) NULL,
  `twitter` VARCHAR(45) NULL,
  `web` VARCHAR(45) NULL,
  PRIMARY KEY (`id`))
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1
COLLATE = latin1_spanish_ci;

我必须说我使用mysql-workbench来执行所有查询。

2 个答案:

答案 0 :(得分:2)

请检查SQLFiddle。 unicode字符\u200e位于@字符前面,并在下面的查询中创建问题。

INSERT INTO `tbl002_club` (`id`, `name`, `web`, `twitter`) VALUES (1,'C.B. AL-QAZERES','http://cbal-qazeres.blogspot.com/', '‎@CBALQAZERES')

答案 1 :(得分:0)

(代表作者提问)

我修好了。

我已经检查了sqlfiddle,我的初始查询在“@”之前有一个“funky”字符。聊天,我看不到。所以,我删除了“@”并重新重写,它的工作原理。我有更多的查询来插入更多的行,这些其他查询工作正常。我不知道发生了什么!