Description:
lower_case_table_names = 0 works strange with windows OS.
After trying of update table with incorrect tablename we get missing af records, that follows the updated
the server restart (and repairing of table) is "fixed" that trouble
How to repeat:
DROP TABLE IF EXISTS `menu_menuitem`;
CREATE TABLE `menu_menuitem` (
`id` int(11) NOT NULL auto_increment,
`parent_id` int(10) unsigned default '0',
`type_id` int(10) unsigned default NULL,
`menu_id` int(10) unsigned default NULL,
`title` varchar(255) NOT NULL default '',
`order` int(10) unsigned default '0',
`obj_id` int(10) unsigned default NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=cp1251 PACK_KEYS=0;
#
# Data for the `menu_menuitem` table (LIMIT 0,500)
#
INSERT INTO `menu_menuitem` (`id`, `parent_id`, `type_id`, `menu_id`, `title`, `order`, `obj_id`) VALUES
(1,0,2,5,'Новости',1,661),
(2,0,2,5,'Страницы',2,662),
(3,0,2,5,'Каталог',3,663),
(4,0,2,5,'Галерея',4,664),
(5,0,2,5,'Пользователи',5,665),
(6,0,2,5,'Панель управления',7,666),
(7,0,2,5,'Сообщения',8,815),
(8,0,2,5,'Форум',9,888);
COMMIT;
mysql> select * from menu_menuitem;
+----+-----------+---------+---------+-------------------+-------+--------+
| id | parent_id | type_id | menu_id | title | order | obj_id |
+----+-----------+---------+---------+-------------------+-------+--------+
| 1 | 0 | 2 | 5 | Новости | 1 | 661 |
| 2 | 0 | 2 | 5 | Страницы | 2 | 662 |
| 3 | 0 | 2 | 5 | Каталог | 3 | 663 |
| 4 | 0 | 2 | 5 | Галерея | 4 | 664 |
| 5 | 0 | 2 | 5 | Пользователи | 5 | 665 |
| 6 | 0 | 2 | 5 | Панель управления | 7 | 666 |
| 7 | 0 | 2 | 5 | Сообщения | 8 | 815 |
| 8 | 0 | 2 | 5 | Форум | 9 | 888 |
+----+-----------+---------+---------+-------------------+-------+--------+
8 rows in set (0.00 sec)
mysql> UPDATE `menu_menuItem` SET `order` = 1, `parent_id` = '6' WHERE `id` = '
8';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> select * from menu_menuitem;
+----+-----------+---------+---------+-------------------+-------+--------+
| id | parent_id | type_id | menu_id | title | order | obj_id |
+----+-----------+---------+---------+-------------------+-------+--------+
| 1 | 0 | 2 | 5 | Новости | 1 | 661 |
| 2 | 0 | 2 | 5 | Страницы | 2 | 662 |
| 3 | 0 | 2 | 5 | Каталог | 3 | 663 |
| 4 | 0 | 2 | 5 | Галерея | 4 | 664 |
| 5 | 0 | 2 | 5 | Пользователи | 5 | 665 |
| 6 | 0 | 2 | 5 | Панель управления | 7 | 666 |
| 7 | 0 | 2 | 5 | Сообщения | 8 | 815 |
+----+-----------+---------+---------+-------------------+-------+--------+
7 rows in set (0.00 sec)
# Here we restart server deamon
mysql> set names cp866;
ERROR 2013 (HY000): Lost connection to MySQL server during query
mysql>
mysql> set names cp866;
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id: 1
Current database: mzz
Query OK, 0 rows affected (0.20 sec)
mysql> select * from menu_menuitem;
+----+-----------+---------+---------+-------------------+-------+--------+
| id | parent_id | type_id | menu_id | title | order | obj_id |
+----+-----------+---------+---------+-------------------+-------+--------+
| 1 | 0 | 2 | 5 | Новости | 1 | 661 |
| 2 | 0 | 2 | 5 | Страницы | 2 | 662 |
| 3 | 0 | 2 | 5 | Каталог | 3 | 663 |
| 4 | 0 | 2 | 5 | Галерея | 4 | 664 |
| 5 | 0 | 2 | 5 | Пользователи | 5 | 665 |
| 6 | 0 | 2 | 5 | Панель управления | 7 | 666 |
| 7 | 0 | 2 | 5 | Сообщения | 8 | 815 |
| 8 | 6 | 2 | 5 | Форум | 1 | 888 |
+----+-----------+---------+---------+-------------------+-------+--------+
8 rows in set (0.00 sec)
# ps: cache turned off
Suggested fix:
it would be nice that mysql throws error about non-exists table, when tablename is in incorrect case