【发布时间】:2012-01-21 14:41:01
【问题描述】:
我的一位同事说 mysql 中的 Length() 函数不是复制安全的。此函数用于更新语句。这是真的?在编写查询并考虑复制时,我们还应该考虑什么
【问题讨论】:
标签: mysql replication string-length
我的一位同事说 mysql 中的 Length() 函数不是复制安全的。此函数用于更新语句。这是真的?在编写查询并考虑复制时,我们还应该考虑什么
【问题讨论】:
标签: mysql replication string-length
因为您要复制的表也可能具有不同的字符集。主从之间的表不需要完全相同,具有相同的索引等。
mysql> create table replic(
field1 varchar(20) character set latin1,
field2 varchar(20) character set utf16,
field3 varchar(20) character set utf32);
Query OK, 0 rows affected (0.07 sec)
mysql> insert into replic values('Adrian', 'Adrian', 'Adrian');
Query OK, 1 row affected (0.07 sec)
mysql> select length(field1), length(field2), length(field3) from replic;
+----------------+----------------+----------------+
| length(field1) | length(field2) | length(field3) |
+----------------+----------------+----------------+
| 6 | 12 | 24 |
+----------------+----------------+----------------+
1 row in set (0.00 sec)
【讨论】: