cotonti.com : sql https://www.cotonti.com Neueste Themenbeiträge Cotonti en Thu, 09 Oct 2025 06:10:56 -0000 CTAPbIu_MABP Mo, 27 Apr 2009 14:43:15 -0000 Trustmaster
С удалением комментариев баг. Да, они требуют нормализации. Это потребует изменений везде, где комментарии используются (в т.ч. в плагинах), для ближайшего релиза проще устранить баг кодом com_code=p'.$id2, а в ренессансе посмотрим.

Triggers and stored procedures: they need to be integrated global. The same is about migrating to InnoDB (it is more reliable on huge databases but MyISAM is faster) and using foreign keys (foreign is not fulltext). Big changes need big thinking.

Comment removal is a bug. Yes, it needs normalization. It will require changes everywhere comments are used (including plugins). For 0.0.5 it is easier to fix the bug with com_code=p'.$id2, as for Renaissance we'll see.]]>
Mo, 20 Apr 2009 02:41:40 -0000
CTAPbIu_MABP Fr, 17 Apr 2009 19:05:54 -0000 Orkan Fr, 17 Apr 2009 08:44:07 -0000 CTAPbIu_MABP
я у вас код в движке видел

$sql = sed_sql_query("DELETE FROM $db_pages WHERE page_id='$id'");
$sql = sed_sql_query("DELETE FROM $db_ratings WHERE rating_code='$id2'");
$sql = sed_sql_query("DELETE FROM $db_rated WHERE rated_code='$id2'");
$sql = sed_sql_query("DELETE FROM $db_com WHERE com_code='$id2'");

можно разгрузить php от выполения 4 запросов и выполнять только 1
вы используете мускул 5.1 поэтому можно использовать тригеры

если мне не изменяет память то $id2 == pid и имеер формат 'p'+db_pages.page_id для страниц

так вот если разделить в db_com (db_ratings, db_rated тоже) поле com_code на два (я не помню точно но кажется префикс db_ надо заменить на sed_ )
ALTER TABLE `db_pages` ADD `com_item` VARCHAR( 255 ) NOT NULL 
тогда надо позаменять все все вставки в html где генериться pid
$pid = sed_import('pid', 'G', 'ALP');
чтобы сюда приходили не строки типа p21 а числа типа 21
$pid = sed_import('pid', 'G', 'INT');
заменить запрос
$sql1 = sed_sql_query("SELECT * FROM $db_com WHERE com_id=$cid AND com_code='$pid' LIMIT 1");
на
$sql1 = sed_sql_query("SELECT * FROM $db_com WHERE com_id=$cid AND com_code='$pid' AND com_item='p' LIMIT 1");

и финал добавляем тригеры
ALTER TABLE `db_com`
  ADD CONSTRAINT `db_com_ibfk_1` FOREIGN KEY (`com_code`) REFERENCES `db_pages` (`page_id`) ON DELETE CASCADE ON UPDATE NO ACTION;
-- и так же на db_ratings и db_rated

если решите воспользоваться советом но не сможете понять что и как я могу проконсультировать по gtalk мой ник

CTAPbIuMABP(a)gmail.com]]>
Fr, 17 Apr 2009 03:31:21 -0000