我的一位同事说 mysql 中的 Length() 函数不是复制安全的。该函数用于更新语句。这是真的?在编写查询和考虑复制时我们还应该考虑什么
最佳答案
因为您正在复制的表也可能具有不同的字符集。不要求master和slave之间的表完全一样,有相同的索引等。
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)
关于mysql - 复制不安全的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8527932/