更新 mysql 个集群的查询
update query for mysql cluster
我在 mysql 主机上执行了一个非常简单的查询 -
update test_db.test_table set name = "Crystal" where id=20;
它工作正常并且没有在奴隶上复制。但是,当查询更改为使用单引号时,它起作用了 -
update test_db.test_table set name = 'Crystal' where id=20;
我正在尝试找出为什么查询不适用于双引号的解释。有人可以指出吗?谢谢
MySQL 通常允许使用单引号或双引号书写字符串文字,尽管 ANSI SQL 仅指定单引号。如果启用 ANSI_QUOTES
SQL 模式,它遵循 ANSI 标准并且只允许单引号。
听起来您正在使用基于语句的复制并且在从服务器上启用了 ANSI_QUOTES
,但在主服务器上没有。所以主人接受查询,但是当它被发送到奴隶时,他们拒绝它。
确保您的所有 SQL 模式设置在您的主服务器和从服务器上都相同,或者使用基于行的复制。
我在 mysql 主机上执行了一个非常简单的查询 -
update test_db.test_table set name = "Crystal" where id=20;
它工作正常并且没有在奴隶上复制。但是,当查询更改为使用单引号时,它起作用了 -
update test_db.test_table set name = 'Crystal' where id=20;
我正在尝试找出为什么查询不适用于双引号的解释。有人可以指出吗?谢谢
MySQL 通常允许使用单引号或双引号书写字符串文字,尽管 ANSI SQL 仅指定单引号。如果启用 ANSI_QUOTES
SQL 模式,它遵循 ANSI 标准并且只允许单引号。
听起来您正在使用基于语句的复制并且在从服务器上启用了 ANSI_QUOTES
,但在主服务器上没有。所以主人接受查询,但是当它被发送到奴隶时,他们拒绝它。
确保您的所有 SQL 模式设置在您的主服务器和从服务器上都相同,或者使用基于行的复制。