parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Parser + Mysql = лишние строки "с потолка"

Anastasia 12.03.2009 08:56

Помогите пожалуйста разобраться! Пытаюсь реализовать хранение графа (мат.объект) общего вида в бд. Таблица:
CREATE TABLE `graph` (
  `_from` varchar(40) default NULL,
  `_to` varchar(40) default NULL,
  `connection` varchar(40) default NULL,
  `dimension` varchar(40) default NULL,
  `id` int(10) unsigned NOT NULL auto_increment,
  PRIMARY KEY  (`id`),
  UNIQUE KEY `unique_all` (`_from`,`_to`,`connection`,`dimension`)
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8
Определяю метод для создания новой записи в классе graph:
@create[from;to;connection;dimension]
$query[INSERT IGNORE INTO graph (_from,_to,connection,dimension) VALUES('$from','$to','$connection','$dimension')]
^db{^void:sql{$query}}
И вызываю:
$from[^math:uuid[]]
$to[^math:uuid[]]
$connection[^math:uuid[]]
$dimension[^math:uuid[]]

<p>Добавляю новый элемент графа (from - to - connection - dimension): $from - $to - $connection - $dimension

^graph:create[$from;$to;$connection;$dimension]
На странице выдаёт Добавляю новый элемент графа (from - to - connection - dimension): EB5DB9FD-E2A8-4AF0-AB36-24B8370A244D - 8A26C4F4-0CCB-4B5D-B62D-F6D79C898F7A - 18E5926A-E647-427C-8170-A56023D9A297 - B16FA771-9AC5-41EE-B456-BE59E78D0423.

А в бд почему-то 4(!) записи:
SELECT * FROM graph
_from	_to	connection	dimension	id
EB5DB9FD-E2A8-4AF0-AB36-24B8370A244D	8A26C4F4-0CCB-4B5D-B62D-F6D79C898F7A	18E5926A-E647-427C-8170-A56023D9A297	B16FA771-9AC5-41EE-B456-BE59E78D0423	1
AA647E09-FB8E-4580-A4BB-05D91D43219D	F0FB3AD7-162C-43DE-A83E-328E8118685A	5328A592-49CB-4E93-848B-25FE4AF5361A	4AD30BE1-A5A4-420D-944F-D6A5E07868F0	2
201F3A30-C6C0-42DB-93DA-842F89514B25	BB9AF75D-BD3B-4749-8D3B-693A61A30A57	0691143E-B611-4350-AC17-3207897BEE88	E63DC398-B154-4226-80C4-6A3F9D217520	3
02F1E860-D6B4-416F-B572-25544BB9AAE0	2E29D031-5C06-43CA-BD2D-75D8043CD209	99D2649A-8D09-4B08-A466-D4CCA62FA5E3	779E3636-A1BE-4373-9FD4-8096347DA436	4
Причём если руками выполнять INSERT, то запись только одна. А через Parser ещё три с неба валятся! Что у меня не так-то?