Windows XP SP 2,
MySQL 5.0.16
Открываем MySQL command line client и вставляем:
mysql> CREATE TRIGGER mytrigger AFTER INSERT
-> ON `mydb`.`mytable` FOR EACH ROW
-> BEGIN END;
ERROR 2013 (HY000): Lost connection to MySQL server during query
mysql>
Служба MySQL отваливается.
Причина: надо указывать имя триггера в виде `mydb`.`mytrigger`, а не просто mytrigger.
Интересно, кто-нибудь пытался сделать такое при развертывании web-приложения (или проведении SQL-инъекции)?
Здравствуйте, denaturat, Вы писали:
D>Открываем MySQL command line client и вставляем:
mysql> CREATE TRIGGER mytrigger AFTER INSERT ON `mydb`.`mytable` FOR EACH ROW BEGIN END;
ERROR 1146 (42S02): Table 'mydb.mytable' doesn't exist
mysql> create database mydb;
Query OK, 1 row affected (0.14 sec)
mysql> CREATE TRIGGER mytrigger AFTER INSERT ON `mydb`.`mytable` FOR EACH ROW BEGIN END;
ERROR 1146 (42S02): Table 'mydb.mytable' doesn't exist
mysql> use mydb;
Database changed
mysql> create table mytable (_ int);
Query OK, 0 rows affected (0.11 sec)
mysql> CREATE TRIGGER mytrigger AFTER INSERT ON `mydb`.`mytable` FOR EACH ROW BEGIN END;
Query OK, 0 rows affected (0.00 sec)
mysql> select @@version;
+------------------------------+
| @@version |
+------------------------------+
| 5.0.45-Debian_1ubuntu3.1-log |
+------------------------------+
На сервере с 5.0.51a-6 (Debian Lenny) тоже всё в порядке.
Здравствуйте, denaturat, Вы писали:
D>Windows XP SP 2,
D>MySQL 5.0.16
D>Открываем MySQL command line client и вставляем:
D>mysql>> CREATE TRIGGER mytrigger AFTER INSERT
->> ON `mydb`.`mytable` FOR EACH ROW
->> BEGIN END;
D>ERROR 2013 (HY000): Lost connection to MySQL server during query
mysql>>
D>
D>Служба MySQL отваливается.
D>Причина: надо указывать имя триггера в виде `mydb`.`mytrigger`, а не просто mytrigger.
А что вы хотите? MySQL ужасно кривой, за исключением некоторых версий. Особенно он кривой для платформы Windows.
Помню версия для винды пару месяцев висела у них на сайте, которая при попытке выполнить ЛЮБОЙ sql statement падала.
Почитайте bugs на их сайте, там и не такое есть.
D>Интересно, кто-нибудь пытался сделать такое при развертывании web-приложения (или проведении SQL-инъекции)?
Кстати MySQL под Виндой — это нонсенс. К тому-же для работы используются хорошо вылежанные, довольно стабильные версии.