Linux за българи: Форуми

Програмиране => Web development => Темата е започната от: bonbon в Feb 20, 2007, 10:17



Титла: Mysql- заявка
Публикувано от: bonbon в Feb 20, 2007, 10:17
За какво става въпрос:
Имам таблица klienti с полета id и ip и друга таблица klienti_trafic с полета data, id, in_bg.
Пиша следната заявка:
INSERT INTO  klienti_trafic (`data` ,`in_bg`, `id` ) VALUES ('2007-28-02','200',(SELECT `id` FROM klienti WHERE ip='192.168.1.222' ) )
Това на debian/unstabile-testing върви, но на debian/stable - не.
Къде бъркам.





Титла: Mysql- заявка
Публикувано от: mihailmilev в Feb 20, 2007, 10:23
Ми не знаем къде бъркаш, ти ни кажи. Да имаш да ни споделиш каква грешка ти връща MySQL?


Титла: Mysql- заявка
Публикувано от: bonbon в Feb 20, 2007, 11:37
ERROR 1064: You have an error in your SQL syntax.  Check the manual that corresponds to your MySQL server version for the right syntax to use near 'select `id` from klienti where ip='192.168.1.222' ) ) ' at line 1





Титла: Mysql- заявка
Публикувано от: VladSun в Feb 20, 2007, 11:47
MySQL-a на двете машини с еднакви версии ли е?


Титла: Mysql- заявка
Публикувано от: bonbon в Feb 20, 2007, 12:09
Цитат (VladSun @ Фев. 20 2007,12:47)
MySQL-a на двете машини с еднакви версии ли е?

Не не е.
На stable e  mysql-server   4.0.24-10sarge
На unstable/testing е mysql-server  5.0.32-6
Според мен не би трябвало да има значение с каква версия е mysql-server.





Титла: Mysql- заявка
Публикувано от: TraNcEmIter в Feb 20, 2007, 12:25
Има разлика. Подзаявките се въвеждат във версия 4.1.
За справка http://dev.mysql.com/doc/refman/4.1/en/mysql-4-1-nutshell.html

Най-вероятно може се реализира с обединения, но не съм сигурен.





Титла: Mysql- заявка
Публикувано от: SOMNIVM в Feb 20, 2007, 13:30
Значи аз имах същия проблем преди няколко дни с една заявка:
Примерен код
SELECT * FROM rates WHERE provenance='$provenence' AND destination='$destination' AND card IN (SELECT DISTINCT name FROM cards WHERE hidden='0');

На моята машина вървеше идеално, но като го качих на сървъра не работеше; проверих версията на сървъра - MySQL 4.0, а аз съм с 5.0
Решението което измислих в последствие се състоеше в "програмно натъкмяване"  :p


Титла: Mysql- заявка
Публикувано от: sharo в Mar 05, 2007, 15:43
bonbon, този проблем съм го имал и аз! В последствие сложих еднакви версии на mysql и всичко си дойде на мястото. Не казвам, че това е решение на проблема, но поне така ще се оправи ;-))


Титла: Mysql- заявка
Публикувано от: gat3way в Mar 05, 2007, 16:31
nested queries на 4.0 доколкото знам нема..


Титла: Mysql- заявка
Публикувано от: nikoni в Mar 05, 2007, 16:31
Пробвай така:

INSERT INTO  klienti_trafic (`data` ,`in_bg`, `id` )
SELECT '2007-28-02','200',`id` FROM klienti WHERE ip='192.168.1.222'


Титла: Mysql- заявка
Публикувано от: bonbon в Mar 14, 2007, 10:30
Цитат (nikoni @ Март 05 2007,17:31)
Пробвай така:

INSERT INTO  klienti_trafic (`data` ,`in_bg`, `id` )
SELECT '2007-28-02','200',`id` FROM klienti WHERE ip='192.168.1.222'

Това наистина работи.
Благодаря на всички.