SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 25.02.2010 19:50:05

Mpa4Hu
Участник
Зарегистрирован: 25.02.2010
Сообщений: 17

Function error

привет всем. я не програмист, просто вышло так, что я хочу кое-что сделать и для етого мне нужен SQL.
начну с самого начала. есть скрипт написанны на ПХП но нет базы. я начал восстановления. если ругался на нет такой таблицы я просто создавал, если ругался на нет столбца я его создавал, но просто тип задавал ТЕКСТ.

и так, после етого когда я востановил базы стал ругатса

select u.Email,u.Login,u.Icq,u.Url,u.BirthDate, u.UserID, Users(' ',u.TrStatus, ' ') as TrStatus, u.Study,u.Work,u.Info,u.Hobby, u.Games,u.Users,u.Club,u.Music, u.City,c.Name_rus as Country, s1.Name_rus as SocialStatus, s2.Name_rus as Internet, s3.Name_rus as Education, s4.Name_rus as Occupation, TeamAll(u.UserID,1,'rus') as Teams, ManagerRang(u.UserID,concat(concat_ws(' ',u.FirstName,u.LastName),' (',u.Login,')'),u.Rang) as User from ut_users u left outer join ut_countries c on c.CountryID=u.CountryID left outer join an_socialstatus s1 on s1.TypeID=u.SocialStatus left outer join an_internet s2 on s2.TypeID=u.Internet left outer join an_education s3 on s3.TypeID=u.Education left outer join an_occupation s4 on s4.TypeID=u.Occupation where u.UserID='4013'
FUNCTION aka.Users does not exist

после етого, я с помощю Navicatа создал функцию Users.

BEGIN
    RETURN '';
END

вот так она выглядет.
после етого выдаёт ошибку

Warning: mysql_query() [function.mysql-query]: Unable to save result set in L:\home\nekki.ge\www\cls\common\cls_db.php on line 282
select u.Email,u.Login,u.Icq,u.Url,u.BirthDate, u.UserID, Users(' ',u.TrStatus, ' ') as TrStatus, u.Study,u.Work,u.Info,u.Hobby, u.Games,u.Users,u.Club,u.Music, u.City,c.Name_rus as Country, s1.Name_rus as SocialStatus, s2.Name_rus as Internet, s3.Name_rus as Education, s4.Name_rus as Occupation, TeamAll(u.UserID,1,'rus') as Teams, ManagerRang(u.UserID,concat(concat_ws(' ',u.FirstName,u.LastName),' (',u.Login,')'),u.Rang) as User from ut_users u left outer join ut_countries c on c.CountryID=u.CountryID left outer join an_socialstatus s1 on s1.TypeID=u.SocialStatus left outer join an_internet s2 on s2.TypeID=u.Internet left outer join an_education s3 on s3.TypeID=u.Education left outer join an_occupation s4 on s4.TypeID=u.Occupation where u.UserID='4013'
Incorrect number of arguments for FUNCTION aka.Users; expected 1, got 3

Отредактированно Mpa4Hu (25.02.2010 20:16:25)

Неактивен

 

#2 25.02.2010 21:17:25

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Function error

Ну да, у функции должно быть три аргумента, а не один.

Лучше не пытайтесь подобрать базу под сценарий smile Тем более — с хранимым
кодом smile

Неактивен

 

#3 25.02.2010 23:25:49

Mpa4Hu
Участник
Зарегистрирован: 25.02.2010
Сообщений: 17

Re: Function error

не кто нечего больше неможет предложыть кроме как не делать етого?

Неактивен

 

#4 25.02.2010 23:32:34

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Function error

Вы можете создать функцию Users с тремя аргументами.
Только непонятен смысл, ведь вы не знаете что должна делать эта функция и узнать это не представляется возможным.

Неактивен

 

#5 26.02.2010 00:52:26

Mpa4Hu
Участник
Зарегистрирован: 25.02.2010
Сообщений: 17

Re: Function error

даже если уменя есть весь движок, я немогу узнать что далжна делать ето функцыя?

Неактивен

 

#6 26.02.2010 01:37:45

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Function error

Попробуйте? )

Неактивен

 

#7 26.02.2010 01:38:37

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Function error

Смотря, что вы подразумеваете под движком. По идее, должны быть инсталяционные скрипты, которые создают базу, включая хранимый код.
Как я понимаю в вашем случае их нет. Остаются след варианты:
1) посмотреть в документации,если таковая есть
2) спросить на сайте разраблтчиков (или у других пользователей данного движка), если он распространен
3) по имени функции и входным параметрам угадать что она должна делать wink

Неактивен

 

#8 26.02.2010 18:36:07

Mpa4Hu
Участник
Зарегистрирован: 25.02.2010
Сообщений: 17

Re: Function error

спасибо всем, кто написал.
уменя ище вторая проблема

select concat('',u.FirstName,' ',u.LastName,''), concat('',t.Name_rus,'') from tm_rating r join ut_teams t using(TeamID) join ut_users u using(UserID) order by Power11_all limit 0,5
Column 'UserID' in from clause is ambiguous

как я понел, есть три базы (tm_rating, ut_teams и ut_users) в которых есть столб UserID, и скрипть не понимает откуда брать

Отредактированно Mpa4Hu (26.02.2010 18:37:42)

Неактивен

 

#9 26.02.2010 18:51:14

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Function error

Да, впишите условие явно: ON a.UserID = b.UserID.

Неактивен

 

#10 26.02.2010 23:20:41

Mpa4Hu
Участник
Зарегистрирован: 25.02.2010
Сообщений: 17

Re: Function error

paulus написал:

Да, впишите условие явно: ON a.UserID = b.UserID.

спасибо за ответ.
как я уже написал, я не програмист, я попытался подставить етот код. но где иммено я не понимаю. и мне интересно етот а. и б. условные и я должен подставить мои индекси? например если я хочу чтобы брал с ut_users (u.)

Отредактированно Mpa4Hu (26.02.2010 23:21:55)

Неактивен

 

#11 26.02.2010 23:33:59

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Function error

Да. Вместо a и b вы должны писать свои алиасы, т.е. для таблицы ut_users - u.UserID.

Неактивен

 

#12 27.02.2010 00:05:07

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Function error

Mpa4Hu написал:

мне интересно, если вместо а я подставлю мой алиас для таблицы ут_усерс (у.) то что тогда б  (я пробовол подставить других алисаы но выдаёт ошибку. и вы не отвелили на вопрос куда вставлять етот код ))

Вместо using(UserID) нужно писать ON `алиас1`.UserID = `алиас2`.UserID.
Приведите ошибку, которую пишет при подстановке алиасов.

Неактивен

 

#13 27.02.2010 00:20:04

Mpa4Hu
Участник
Зарегистрирован: 25.02.2010
Сообщений: 17

Re: Function error

скрипт сичас виглядит так

from tm_rating r join ut_teams t using(TeamID) join ut_users u using ON r.UserID = u.UserID. order by Power11_all limit 0,5");

а ошибка вот так

select concat('',u.FirstName,' ',u.LastName,''), concat('',t.Name_rus,'') from tm_rating r join ut_teams t using(TeamID) join ut_users u using ON t.UserID = u.UserID. order by Power11_all limit 0,5
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 'ON r.UserID = u.UserID. order by Power11_all limit 0,5' at line 4

Отредактированно Mpa4Hu (27.02.2010 00:22:25)

Неактивен

 

#14 27.02.2010 00:24:52

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Function error

Вместо using(UserID) нужно писать ON `алиас1`.UserID = `алиас2`.UserID.
У вас получилось лишнее using, которое перед ON

Неактивен

 

#15 27.02.2010 00:31:37

Mpa4Hu
Участник
Зарегистрирован: 25.02.2010
Сообщений: 17

Re: Function error

спасибо болшьое.
есть вопрось, возможна ли создать в базе функцыю где будет говоритса что а.UserID = b.UserID. тут их много, но скрипт я как знаю не дирявый. проста базы нету. вот я и прецтавил, что возможна в бд прописать что-то что будет гаварить using(UserID) что а = б

Отредактированно Mpa4Hu (27.02.2010 00:43:38)

Неактивен

 

#16 27.02.2010 00:53:37

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Function error

using(UserID) эквивалентно ON `алиас1`.UserID = `алиас2`.UserID
Это просто разные формы записи. Часто пишут using для того, чтобы код был короче.

Неактивен

 

#17 28.02.2010 18:33:53

Mpa4Hu
Участник
Зарегистрирован: 25.02.2010
Сообщений: 17

Re: Function error

такс, ковырясля в фаилах и нашел кое что

BEGIN

Declare game blob default null;
declare gam_md5key varchar(6) default  "pobeda";
declare ord_md5key varchar(6) default  "RULEZ";
declare fc_md5key varchar(6) default  "HZ";
declare fc_ord blob default null;


set game=concat('GAM',CHAR(0x01000000));

set game=concat(game,
CHAR((SELECT id FROM `nekki-butsa`.en_0_255 order by rand() limit 1),
     (SELECT id FROM `nekki-butsa`.en_0_255 order by rand() limit 1),
     (SELECT id FROM `nekki-butsa`.en_0_255 order by rand() limit 1),
     (SELECT id FROM `nekki-butsa`.en_0_255 order by rand() limit 1),
      unix_timestamp()),

CHAR(LENGTH(CONVERT(in_country USING 'cp1251'))),CONVERT(in_country USING 'cp1251'),
CHAR(LENGTH(CONVERT(in_city USING 'cp1251'))),CONVERT(in_city USING 'cp1251'),
CHAR(LENGTH(CONVERT(in_stadium USING 'cp1251'))),CONVERT(in_stadium USING 'cp1251'),

(select @a:=REVERSE(CHAR(in_capacity))),REPEAT(unhex(00),4-LENGTH(@a)),
(select @b:=REVERSE(CHAR(in_visitors))),REPEAT(unhex(00),4-LENGTH(@b)),
CHAR(in_tickets),
(select @c:=REVERSE(CHAR(in_referee))),REPEAT(unhex(00),4-LENGTH(@c)),
CHAR(in_weather),
CHAR(in_temp),
CHAR(in_tour),
CONVERT(in_division USING 'cp1251'),
CHAR(coalesce(in_nomtour,0)),
if(In_Reglament=1,CHAR(1),if(In_CountGame=2 and ((in_tour-in_tour1)%2<>0),concat(CHAR(3),CHAR((select coalesce(Goals1,0) from ut_matches where ReglamentID=In_reglamentID and Tour=in_tour-1 and TeamID1=in_TeamID2)),CHAR((select coalesce(Goals2,0) from ut_matches where ReglamentID=In_reglamentID and Tour=in_tour-1 and TeamID1=in_TeamID2))),CHAR(0)) )
);

set game=concat(game,
CHAR(mod(LENGTH(in_fc1), 256)),CHAR(LENGTH(in_fc1) div 256),
CHAR(0x00),CHAR(0x00),in_fc1);

set fc_ord=in_ord1;

set game=concat(game,
CHAR(mod(LENGTH(coalesce(fc_ord,'')), 256)),CHAR(LENGTH(coalesce(fc_ord,'')) div 256),
CHAR(0x00),CHAR(0x00),coalesce(fc_ord,''));

set game=concat(game,
CHAR(mod(LENGTH(in_fc2), 256)),CHAR(LENGTH(in_fc2) div 256),
CHAR(0x00),CHAR(0x00),in_fc2);

set fc_ord=in_ord2;

set game=concat(game,
CHAR(mod(LENGTH(coalesce(fc_ord,'')), 256)),CHAR(LENGTH(coalesce(fc_ord,'')) div 256),
CHAR(0x00),CHAR(0x00),coalesce(fc_ord,''));


set game=concat(game,CHAR(0x0000000B),

(select @a:=REVERSE(CHAR( in_MatchID ))),REPEAT(unhex(00),4-LENGTH(@a)),
(select @b:=REVERSE(CHAR( in_TeamID1 ))),REPEAT(unhex(00),4-LENGTH(@b)),
(select @c:=REVERSE(CHAR( in_TeamID2 ))),REPEAT(unhex(00),4-LENGTH(@c))

);
set game=concat(md5(concat(game,gam_md5key)),game);

return game;

END

лижала просто в текстовом фаиле. но как создать ету функцыю, и как её назвать я незнаю

потом в ХМЛ фаиле нашол следущее

<create
    sql="drop table ut_table;
#create table ut_table(select * from ((select h.TeamID1 as TeamID,

count(distinct h.MatchID) as HomeGames,
count(distinct g.MatchID) as GuestGames,
count(distinct h.MatchID) +
count(distinct g.MatchID) as Games,

sum(if(h.Goals1&gt;h.Goals2,1,0))/if(count(distinct g.MatchID)=0,1,count(distinct g.MatchID)) as HomeWin,
sum(if(h.Goals1&lt;h.Goals2,1,0))/if(count(distinct g.MatchID)=0,1,count(distinct g.MatchID)) as HomeLose,
sum(if(h.Goals1=h.Goals2,1,0))/if(count(distinct g.MatchID)=0,1,count(distinct g.MatchID)) as HomeTie,

sum(h.Goals1)/if(count(distinct g.MatchID)=0,1,count(distinct g.MatchID)) as HomeGoals1,
sum(h.Goals2)/if(count(distinct g.MatchID)=0,1,count(distinct g.MatchID)) as HomeGoals2,

sum(h.Goals1)/if(count(distinct g.MatchID)=0,1,count(distinct g.MatchID)) -
sum(h.Goals2)/if(count(distinct g.MatchID)=0,1,count(distinct g.MatchID)) as HomeDifference,

sum(if(h.Goals1&gt;h.Goals2,1,0)*3+if(h.Goals1=h.Goals2,1,0))/if(count(distinct g.MatchID)=0,1,count(distinct g.MatchID)) as HomePoints,

sum(if(g.Goals1&lt;g.Goals2,1,0))/if(count(distinct h.MatchID)=0,1,count(distinct h.MatchID)) as GuestWin,
sum(if(g.Goals1&gt;g.Goals2,1,0))/if(count(distinct h.MatchID)=0,1,count(distinct h.MatchID)) as GuestLose,
sum(if(g.Goals1=g.Goals2,1,0))/if(count(distinct h.MatchID)=0,1,count(distinct h.MatchID)) as GuestTie,

sum(g.Goals1)/if(count(distinct h.MatchID)=0,1,count(distinct h.MatchID)) as GuestGoals2,
sum(g.Goals2)/if(count(distinct h.MatchID)=0,1,count(distinct h.MatchID)) as GuestGoals1,

sum(g.Goals2)/if(count(distinct h.MatchID)=0,1,count(distinct h.MatchID)) -
sum(g.Goals1)/if(count(distinct h.MatchID)=0,1,count(distinct h.MatchID)) as GuestDifference,

sum(if(g.Goals1&lt;g.Goals2,1,0)*3+if(g.Goals1=g.Goals2,1,0))/if(count(distinct h.MatchID)=0,1,count(distinct h.MatchID)) as GuestPoints,

sum(if(h.Goals1&gt;h.Goals2,1,0))/if(count(distinct g.MatchID)=0,1,count(distinct g.MatchID))+
sum(if(g.Goals1&lt;g.Goals2,1,0))/if(count(distinct h.MatchID)=0,1,count(distinct h.MatchID)) as Win,
sum(if(h.Goals1&lt;h.Goals2,1,0))/if(count(distinct g.MatchID)=0,1,count(distinct g.MatchID))+
sum(if(g.Goals1&gt;g.Goals2,1,0))/if(count(distinct h.MatchID)=0,1,count(distinct h.MatchID)) as Lose,
sum(if(h.Goals1=h.Goals2,1,0))/if(count(distinct g.MatchID)=0,1,count(distinct g.MatchID))+
sum(if(g.Goals1=g.Goals2,1,0))/if(count(distinct h.MatchID)=0,1,count(distinct h.MatchID)) as Tie,

sum(h.Goals1)/if(count(distinct g.MatchID)=0,1,count(distinct g.MatchID))+
sum(g.Goals2)/if(count(distinct h.MatchID)=0,1,count(distinct h.MatchID)) as Goals1,
sum(h.Goals2)/if(count(distinct g.MatchID)=0,1,count(distinct g.MatchID))+
sum(g.Goals1)/if(count(distinct h.MatchID)=0,1,count(distinct h.MatchID)) as Goals2,

sum(h.Goals1)/if(count(distinct g.MatchID)=0,1,count(distinct g.MatchID)) -
sum(h.Goals2)/if(count(distinct g.MatchID)=0,1,count(distinct g.MatchID)) +
sum(g.Goals1)/if(count(distinct h.MatchID)=0,1,count(distinct h.MatchID)) -
sum(g.Goals2)/if(count(distinct h.MatchID)=0,1,count(distinct h.MatchID)) as Difference,

sum(if(h.Goals1&gt;h.Goals2,1,0)*3+if(h.Goals1=h.Goals2,1,0))/if(count(distinct g.MatchID)=0,1,count(distinct g.MatchID))+
sum(if(g.Goals1&lt;g.Goals2,1,0)*3+if(g.Goals1=g.Goals2,1,0))/if(count(distinct h.MatchID)=0,1,count(distinct h.MatchID)) as Points


from ut_matches h
left outer join
ut_matches g
on (h.TeamID1=g.TeamID2 and h.Type=g.Type and h.Type='champ')
where h.Type='champ'
group by h.TeamID1,g.TeamID2
)

union

(select g.TeamID2 as TeamID,
count(distinct h.MatchID) as HomeGames,
count(distinct g.MatchID) as GuestGames,
count(distinct h.MatchID) +
count(distinct g.MatchID) as Games,

sum(if(h.Goals1&gt;h.Goals2,1,0))/if(count(distinct g.MatchID)=0,1,count(distinct g.MatchID)) as HomeWin,
sum(if(h.Goals1&lt;h.Goals2,1,0))/if(count(distinct g.MatchID)=0,1,count(distinct g.MatchID)) as HomeLose,
sum(if(h.Goals1=h.Goals2,1,0))/if(count(distinct g.MatchID)=0,1,count(distinct g.MatchID)) as HomeTie,

sum(h.Goals1)/if(count(distinct g.MatchID)=0,1,count(distinct g.MatchID)) as HomeGoals1,
sum(h.Goals2)/if(count(distinct g.MatchID)=0,1,count(distinct g.MatchID)) as HomeGoals2,

sum(h.Goals1)/if(count(distinct g.MatchID)=0,1,count(distinct g.MatchID)) -
sum(h.Goals2)/if(count(distinct g.MatchID)=0,1,count(distinct g.MatchID)) as HomeDifference,

sum(if(h.Goals1&gt;h.Goals2,1,0)*3+if(h.Goals1=h.Goals2,1,0))/if(count(distinct g.MatchID)=0,1,count(distinct g.MatchID)) as HomePoints,

sum(if(g.Goals1&lt;g.Goals2,1,0))/if(count(distinct h.MatchID)=0,1,count(distinct h.MatchID)) as GuestWin,
sum(if(g.Goals1&gt;g.Goals2,1,0))/if(count(distinct h.MatchID)=0,1,count(distinct h.MatchID)) as GuestLose,
sum(if(g.Goals1=g.Goals2,1,0))/if(count(distinct h.MatchID)=0,1,count(distinct h.MatchID)) as GuestTie,

sum(g.Goals1)/if(count(distinct h.MatchID)=0,1,count(distinct h.MatchID)) as GuestGoals2,
sum(g.Goals2)/if(count(distinct h.MatchID)=0,1,count(distinct h.MatchID)) as GuestGoals1,

sum(g.Goals2)/if(count(distinct h.MatchID)=0,1,count(distinct h.MatchID)) -
sum(g.Goals1)/if(count(distinct h.MatchID)=0,1,count(distinct h.MatchID)) as GuestDifference,

sum(if(g.Goals1&lt;g.Goals2,1,0)*3+if(g.Goals1=g.Goals2,1,0))/if(count(distinct h.MatchID)=0,1,count(distinct h.MatchID)) as GuestPoints,

sum(if(h.Goals1&gt;h.Goals2,1,0))/if(count(distinct g.MatchID)=0,1,count(distinct g.MatchID))+
sum(if(g.Goals1&lt;g.Goals2,1,0))/if(count(distinct h.MatchID)=0,1,count(distinct h.MatchID)) as Win,
sum(if(h.Goals1&lt;h.Goals2,1,0))/if(count(distinct g.MatchID)=0,1,count(distinct g.MatchID))+
sum(if(g.Goals1&gt;g.Goals2,1,0))/if(count(distinct h.MatchID)=0,1,count(distinct h.MatchID)) as Lose,
sum(if(h.Goals1=h.Goals2,1,0))/if(count(distinct g.MatchID)=0,1,count(distinct g.MatchID))+
sum(if(g.Goals1=g.Goals2,1,0))/if(count(distinct h.MatchID)=0,1,count(distinct h.MatchID)) as Tie,

sum(h.Goals1)/if(count(distinct g.MatchID)=0,1,count(distinct g.MatchID))+
sum(g.Goals2)/if(count(distinct h.MatchID)=0,1,count(distinct h.MatchID)) as Goals1,
sum(h.Goals2)/if(count(distinct g.MatchID)=0,1,count(distinct g.MatchID))+
sum(g.Goals1)/if(count(distinct h.MatchID)=0,1,count(distinct h.MatchID)) as Goals2,

sum(h.Goals1)/if(count(distinct g.MatchID)=0,1,count(distinct g.MatchID)) -
sum(h.Goals2)/if(count(distinct g.MatchID)=0,1,count(distinct g.MatchID)) +
sum(g.Goals1)/if(count(distinct h.MatchID)=0,1,count(distinct h.MatchID)) -
sum(g.Goals2)/if(count(distinct h.MatchID)=0,1,count(distinct h.MatchID)) as Difference,

sum(if(h.Goals1&gt;h.Goals2,1,0)*3+if(h.Goals1=h.Goals2,1,0))/if(count(distinct g.MatchID)=0,1,count(distinct g.MatchID))+
sum(if(g.Goals1&lt;g.Goals2,1,0)*3+if(g.Goals1=g.Goals2,1,0))/if(count(distinct h.MatchID)=0,1,count(distinct h.MatchID)) as Points


from ut_matches g
left outer join
ut_matches h


on (h.TeamID1 is null and h.Type=g.Type and h.Type='champ')
where h.Type='champ'

group by g.TeamID2,h.TeamID1 )) as s
group by s.TeamID
order by s.Points desc)
"


    success_rus="Запись создана"
    success_eng="Record created">
</create>

как я понел ето тоже функцыя, но когда я ето копирую в Пхпмайадмин, выдаёт ощибки и не создаёт.
http://img692.imageshack.us/img692/3639/sqlerrors.png

Отредактированно Mpa4Hu (28.02.2010 18:43:41)

Неактивен

 

#18 28.02.2010 20:41:41

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Function error

# перед create удалите.

Неактивен

 

#19 01.03.2010 16:59:51

Mpa4Hu
Участник
Зарегистрирован: 25.02.2010
Сообщений: 17

Re: Function error

http://img411.imageshack.us/img411/2615/error2e.png

Отредактированно Mpa4Hu (01.03.2010 17:01:12)

Неактивен

 

#20 01.03.2010 19:39:39

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Function error

Ну и хвост запроса нужно добавить. Где-то что-то обрезалось неудачно.

Неактивен

 

#21 01.03.2010 22:33:34

Mpa4Hu
Участник
Зарегистрирован: 25.02.2010
Сообщений: 17

Re: Function error

ктонибудь может взятса за ето за денги?
мне нужно токо востановления функции. я нашёл 16 запросов.
если да то пишытье свои предложения

Неактивен

 

#22 02.03.2010 22:07:28

Mpa4Hu
Участник
Зарегистрирован: 25.02.2010
Сообщений: 17

Re: Function error

select u.Email,u.Login,u.Icq,u.Url,u.BirthDate, u.UserID, concat(' ',u.TrStatus, ' ') as TrStatus, u.Study,u.Work,u.Info,u.Hobby, u.Games,u.Player,u.Club,u.Music, u.City,c.Name_rus as Country, s1.Name_rus as SocialStatus, s2.Name_rus as Internet, s3.Name_rus as Education, s4.Name_rus as Occupation, u.UserID,1,'rus') as Teams, ManagerRang(u.UserID,concat(concat_ws(' ',u.FirstName,u.LastName),' (',u.Login,')'),u.Rang) as User from ut_users u left outer join ut_countries c on c.CountryID=u.CountryID left outer join an_socialstatus s1 on s1.TypeID=u.SocialStatus left outer join an_internet s2 on s2.TypeID=u.Internet left outer join an_education s3 on s3.TypeID=u.Education left outer join an_occupation s4 on s4.TypeID=u.Occupation where u.UserID='4013'
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 ') as Teams, ManagerRang(u.UserID,concat(concat_ws(' ',u.FirstName,u.LastName),' ' at line 1

Неактивен

 

#23 03.03.2010 00:13:08

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Function error

Да, плохой запрос smile

Даже сложно сказать, откуда он такой страшный. Скобки расставлены
в нем в произвольном порядке, что окончательно сводит с ума как
парсер MySQL, так и мою голову. В таком виде запрос не несет смысла
и я даже предположить не могу, какой смысл в него пытался вложить
автор.

Неактивен

 

#24 12.03.2010 18:32:48

Mpa4Hu
Участник
Зарегистрирован: 25.02.2010
Сообщений: 17

Re: Function error

привет всем)

Error
insert into fn_accounts values(@Money,@LeagueID,2)
Column count doesn't match value count at row 1

приблизительно так выглядет запрос:
insert into fn_accounts values(@Money;,@LeagueID;,2)
в базе 4 столбика, а тут уменя 3 запроса, когда я добавляю перед Монеу кавичтки всё окей, но таких запросов много, и в большинства из них 50 столбов. можна переделать или чтонибуь сделать так чтобы количесва столбов не зависило от запрса (или както так )) )

Неактивен

 

#25 12.03.2010 19:48:28

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Function error

Нет, ничего поделать нельзя. Если у Вас таблицы заполняются такими запросами,
то в них нельзя добавлять колонки. Единственный правильный способ — заиметь
таблицу с правильным количеством (а главное — качеством) колонок. Важно, чтобы
первая колонка имела отношение к деньгам, вторая — к идентификатору лиги, а
про третью можно сказать только то, что в нее можно засунуть два… советую Вам
все же не мучать этот сценарий, все равно он не работает…

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson