![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 30.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
witam,
mam pewien problem na mojej stronie, otoz chcialbym aby wartosc memb_guid z kazda nowa operacja tego skryptu do bazy wprowadzala o 1 wyzsza wartosc niz jest obecnie w bazie, probowalem juz roznych sposobow jednak nie moge tego rozgryzc probowalem to robic min na zmiennych, przykladowo: $subquery = mssql_query('SELECT MAX(MEMB_GUID) + 1 FROM MEMB_INFO', $link); $result = mssql_result($subquery,0,0); pozniej zamiast 1 wkladam zmienna result, probowalem takze selecta wkladac bezposrednio do proceduty, jednak ciagle nie dziala. Dodam iz w bazie zmienna memb_guid jest typu INT oraz jest kluczem glownym, dopiero ppo zdjeciu z niej rekordy kolejne sie wpisuja, ale co to ma za sens jesli wszedzie jest 1. Jesli ktos potrafilby rozgryzc ten przypadek bylbym bardzo wdzieczny. Kod mssql_query("INSERT INTO VI_CURR_INFO (ends_days,chek_code,used_time,memb___id,memb_name ,[b]memb_guid[/b],sno__numb,Bill_S ection,Bill_value,Bill_Hour,Surplus_Point,Surplus_ Minute,Increase_Days ) VALUES ('20055','1',1234,'$login','$login',[b]1[/b],'7','6','3', '6','6',getdate(),'0' )") or die('error, account exists'); mssql_query("SET IDENTITY_INSERT MEMB_INFO ON INSERT INTO MEMB_INFO ([b]memb_guid[/b],memb___id,memb__pwd,memb_name,sno__numb ,post_code,addr_info,addr_deta,tel__numb,mail_addr,phon_numb,fpas_ques,fpas_answ job__code,appl_days,modi_days,out__days,true_days,mail_chek,bloc_code,ctl1_co de) VALUES ('[b]1[/b]','$login','$pw','$name', '1','1234','11111','personalid','12343','$email',' $email','$prq','$pra','1',getdate(),getdate(),getd ate(),getdate(),'1','0','1')") or die('error, query failed'); Za wszelkie rady z gory dziekuje Ten post edytował xiveris 30.07.2009, 11:21:45 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Daj to pole jako primary key i daj mu auto_increment
-------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 30.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
Mam ustawione obecnie tak:
![]() zmiana na primary key podowuje tylko blad informujacy o tym iz probuje sie wprowadzic taka sama wartosc w pole gdzie nie mozna tego robic czyli z kluczem |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Mam ustawione obecnie tak: ![]() zmiana na primary key podowuje tylko blad informujacy o tym iz probuje sie wprowadzic taka sama wartosc w pole gdzie nie mozna tego robic czyli z kluczem Sorki moje niedopatrzenie, używasz mssql! Zakręciłem się i przeczytałem mysql... Przepraszam za wprowadzenie w błąd. P.S. Czemu używasz tego sh*tu? -------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 30.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
Nie mam wyboru musze SQL bo nic innego nie wspiera tego
![]() Od strony skryptu zatem trzeba by cos napewno zrobic aby wpisywalo wlasciwie? jakies rady? |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem jak to jest w mssql, możesz pobrać najwyższe memb_guid dodać jeden i wrzucić to do zapytania, które dodaje rekord do bazy.
-------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 30.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
Chce wlasnie cos takiego zrobic tylko ze za kazdym razem mi jakis blad pojawia sie.
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem czy jest ale powinna być funkcja count, gdybyś ją tak zastosował na memb_guid
![]() -------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 561 Pomógł: 72 Dołączył: 15.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Po pierwsze powinno to być załatwione przez autoincrement, a co do Twojego postu fifi209 to nie count ale max powinno być zastosowane
![]() -------------------- Nawet świnka może wejść na drzewo kiedy jest chwalona :)
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Po pierwsze powinno to być załatwione przez autoincrement, a co do Twojego postu fifi209 to nie count ale max powinno być zastosowane ![]() Skoro mu auto_increment nie działa o którym pisałem wcześniej, max o którym on pisał nie działa...to dałem propozycję z count -------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 561 Pomógł: 72 Dołączył: 15.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
No to wyobraź sobie coś takiego: są sobie trzy rekordy:
id: 1 id: 2 id: 3 usuwasz id:2, zostaje: id: 1 id: 3 robisz count(id) -> otrzymujesz 2, dodajesz 1 i wychodzi Ci że nowy rekord powinien mieć id:3 i wychodzi coś takiego: id:1 id:3 id:3 chyba że masz unique na tym polu, ale wtedy nie dodasz go w ogóle ![]() -------------------- Nawet świnka może wejść na drzewo kiedy jest chwalona :)
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 30.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
Mozecie mi napisac jakby ten skrypt mial w takim razie wygladac aby dzialal jak nalezy?
|
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Mozecie mi napisac jakby ten skrypt mial w takim razie wygladac aby dzialal jak nalezy? Pole to dajesz jako auto_increment i primary key ![]() -------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 30.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
gdzie mozna ustawic to pole jako auto_increment?
Obecny blad jaki otrzymuje to podczas proby wywolania: Kod Warning: mssql_query() [function.mssql-query]: message: Violation of PRIMARY KEY constraint 'PK_MEMB_INFO_1'. Cannot insert duplicate key in object 'dbo.MEMB_INFO'.
Ten post edytował xiveris 30.07.2009, 14:27:42 |
|
|
![]()
Post
#15
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
IDENTITY załatwi sprawę (odpowiednik AUTO_INCREMENT z MySQL).
P.S. Czemu używasz tego sh*tu? Bez komentarza... ![]() |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 30.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
tylko ze sprawa jest taka iz mam juz istniejaca baze danych i nie chcialbym jej usuwac, zalezaloby mi aby dodac te opcje do istniejacej.
A opis przedstawiony powyzej wymaga usuniecia tabeli. Moze zamiast kombinowac z baza macie jakis pomysl jakie polecenie wrzucic aby to ono wczytywalo sobie z bazy najwieksza wartosc i powiekszala ja o 1. probowalem w miejsce 1 wrzucic takie cos: Kod select (select max(memb_guid) from MEMB_INFO)+1 niestety bezskutecznie gdyz blad wyskakuje iz nie mozna zapisac zmiennej typu var w miejsce gdzie powinna byc zmienna int edit: rozgryzlem problem w memb_info tabeli, problemem byl zapis: Kod SET IDENTITY_INSERT MEMB_INFO ON po jego usunieciu, oraz usunieciu wpisow odnosnie memb_guid z inserta, baza sama sobie dodaje 1 do tego ![]() ![]() dzieki wszystkim za udzielona pomoc i pozdrawiam Ten post edytował xiveris 30.07.2009, 20:35:28 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 07:53 |