Tommyli wrote:

geriausias java visada blogiau uz blogiausia offa

Sitoi vietoi tikrai nesutinku :) nu palauksim kol atidarysi , bus matyt, bet kad java blogesnis uz off, as tikrai nesutinku, aisq nesu su offu zaides, nes moku java lbj gerai, tai man ir prigijo tas ^^ db php/mysql bandau perprast , zodziu lauksim servo gero ;D tik nestumk kaip anksciau, skype plyta 4 ewer, vipes, gm serve nera...., t.t...., nori gero servo - skirk jam laiko.

wow!! didelis didelis dekui zigi, su WHERE IN veikia, lbj lbj dekingas :)

Padariau siek tiek paprasciau:

UPDATE lentele1
SET aaa='99'
WHERE bbb=(SELECT bbb FROM lentele2 WHERE aaa='999');

Taipogi raso kad viskas baigta gerai, jokiu error, bet lentelei jokiu pakitimu, kame beda?

Dekui, dabar zymiai aiskiau pasidare kaip turetu atrodyt tas subquery, o dabar ziurek kaip gaunasi:

Paleidziu vasitoki:

UPDATE table1
SET xxxxx=(SELECT xxxxx FROM table2 WHERE xxxxx='9999')
WHERE zzzzz=(SELECT zzzzz FROM table2 WHERE xxxxx='9999');

xxxxx - Stulpelis
zzzzzz - Kitas stulpelis

Raso kad viskas gerai, jokio error, success raso, bet jokiu pakitimu nera antroi lentelei, gal kas blogai?

UPDATE table1 SET column1='sitoi vietoi reikia reiksmes is 2 lenteles' where column2='123456789';

Nu va parasiau paprasta UPDATE uzklausa, jau turint reiksme, bet man reikia pritaikyt select, nes atnaujint reikia ~4000 eiluciu is ~20000, jei butu 10-20 eiluciu nebutu bedos ^^

Tommyli , mes aisq lbj laukiam l2alive.lt - tavo serverio sugryztant, bet kam tu su tuo l2off zaidi nesuprantu ^^ buvo java, buvo gerai, tik kad demesio servui skiriai ~0h per menesi, tai ir gavosi sh, dbr yra toki packai kaip sugryzes l2j-archid, l2dot, ir manau labai geri pack, saugus, bugu minimumas, skirtum java servui demesio ir butu geras servas, o tu manai padarysi off ir bus nuliovai viskas..., offe irgi veikia phx ir hlapex seip, tik vat ar mokesi i offa idet apsaugas...., ir kur tu ju gausi dar..., gryzk prie javos ir gyvenk laimingas ;)

UPDATE table1 (column1)
  SELECT table2.column2
  FROM table2 where column2='123456789';

Esme, antaujinti table1 tam tikra stulpeli, tam tikru eiluciu, pagal table2,
reikia paimti reiksme is table2 tam tikru eiluciu tam tikro stulpelio , ir atnaujinti table1 ,
tam tikru eiluciu tam tikra stulpeli, jei supratot mazdaug ko prasau,
manau tikrai galesit padet. Naudojant anksciau mineta usklausa, meta error,
gal kazka netaip darau?

$sql=sprintf("INSERT INTO antroji (kodasx,data) SELECT pirmoji.kodas,pirmoji.data FROM pirmoji where vardas='jonas';");


ir


$sql=sprintf("INSERT INTO antroji (`data`) VALUES('%s')",safeinput($_GET["ID"],255));



i reiksmes jei imanoma galit nekreipt demesio, tiesiog reikia kad sujungt siuos 2 query i 1, ta prasme, ce yra query, kuris iraso i databaze reiksmes, reikia kad visas galutinis kodas irasytu viska i 1 ir ta pacia eilute, neisivaizduoju kaip sujungt tokio tipo kodus, busiu labai labai labai dekingas jei kas rimtai pades ;)

Fixed, klaida buvo durna ^^ databazeja nebuvo duota useriui privilegija insert xD

vat pavizdziui man reikia kad tas pats kodas i ta pacia eilute tik i kita stulpeli, irasytu %Data% , kaip man padaryt ta? kad ir kaip bandaug prirasyt papildomai ten kazka gaunasi kose ir meta eror

Nu man numeta Klaida3, ir nebuna i databaze irasyta eilute, kuria turetu irasyt sitas failas

<?php

$mysql_host = 'IP';
$mysql_user = 'Login';
$mysql_pass = '*****';
$mysql_db = 'baze1';

$ret_klaida2="klaida2";
$ret_klaida="klaida";
$ret_klaida3="klaida3";

$conn=mysql_connect($mysql_host,$mysql_user,$mysql_pass) or die($ret_klaida);

mysql_select_db($mysql_db,$conn) or die($ret_klaida2);

$sql=sprintf("INSERT INTO antroji (kodasx,data) SELECT pirmoji.kodas,pirmoji.data FROM pirmoji where vardas='jonas'");

mysql_query($sql,$conn);

die($ret_klaida3);
?>


==============================================

Gaunu klaida3, kas ce blogai?

Beja, kaip padaryt kad tas pats kodas dar dadetu VALUES i data ar dar kokius stulpelius nekintamas reiksmes???

Pasiknisau google ir mysql.com manualuose, ir susitvarkiau ^^
klaida buvo didziosios raides, ir vienodi stulpeliu pavadinimai.

Veikiantis kodas:

INSERT INTO antroji (kodasx)
  SELECT pirmoji.kodas
  FROM pirmoji where vardas='jonas';


dq uz pagalba :) lock theme

Ech :/ apsunkini viska.... nu gerai...

Pakeiciau unikalus_kodas i kodas - bus paprasciau dabar.

INSERT INTO antroji (kodas)
    SELECT pirmoji.kodas
    FROM pirmoji

paleidus sita, gaunu eror:

[Err] 1054 - Unknown column 'pirmoji.kodas' in 'field list'
[Err] INSERT INTO antroji (kodas)
    SELECT pirmoji.kodas
[Msg] Finished - Unsuccessfully


, jei padarau siektiek kitaip -

INSERT INTO antroji (kodas) WHERE vardas = 'jonas'
    SELECT pirmoji.kodas
    FROM pirmoji

gaunu error:

[Err] 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 'WHERE vardas = 'jonas'
    SELECT pirmoji.kodas' at line 1
[Err] INSERT INTO antroji (kodas) WHERE vardas = 'jonas'
    SELECT pirmoji.kodas
[Msg] Finished - Unsuccessfully

jei gali suformuluok dar karta sql koda, tik su WHERE vardas = 'vardas' , nes kad ir kaip meginu vis eror gaunu.
P.S. pakeiciau stulpeli unkilaus kodas, i unikalus_kodas

INSERT INTO antroji (unikalus kodas) WHERE vardas = 'jonas'
    SELECT pirmoji.unikalus kodas
    FROM pirmoji

=========================================

pirmoji - pirma lentele
antroji - antra lentele
unikalus kodas - kodas kuri reikia kopijuoti is pirmos i antra
jonas - test vardas

=========================================

rezultatas:

[Err] 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 'kodas) WHERE vardas = 'jonas'
    SELECT pirmoji.unikalus kodas' at line 1
[Err] INSERT INTO antroji (unikalus kodas) WHERE vardas = 'jonas'
    SELECT pirmoji.unikalus kodas
[Msg] Finished - Unsuccessfully

man reikia nevisus, o konkretu 1, ir nevarda o unikalu koda kuri turi vardas

minde wrote:
alien wrote:

pirma dali dekui, sutvarkiau, o antra dalis reikia kad is pirmos lenteles paimtu unikalu koda, ir irasytu i antra lentele, o koda ta paimtu pagal varda, na ten kaip INSERT INTO lentele2 VALUES ('numeris', unikalus kodas', 'data'); bet kad unikalu koda imtu pagal varda, nzn kaip ta padaryt

Aš nelabai suprantu tos vietos "pagal varda"? Parodyk koks turi būti rezultatas, ir patikslink ar apie išrinkimą ar apie įterpimą kalbi?

alien wrote:

Ir beja ka reikia rasyt kad jis didetu? numeris, INSERT INTO lentele2 VALUES ('???',......);

Kaip ir rašiau, reikia uždėti atributą AUTO_INCREMENT, bet tas stulpelis būtinai turi būti pirminis raktas (PRIMARY_KEY).

Parasei tapati ka as jau rasiau kad zinau, man nereikia nieko nustatyt, man reikia reiksmes... nu as nesupratu kaip nesuprast dar galima.....

dar karta pakartosiu , issiskaityki gerai.


=====================
yra 2 lenteles

=====================

1 lentele:
Vardas       |      Unikalus kodas
-------------------------------------
Petras        |      789123
Jonas         |      123789

=====================


2 lentele:
Numeris     |      Unikalus kodas       |      Data
------------------------------------------------------
1               |         123789               |      2009
2               |         123789               |      2009
3               |         789123               |      2009
4               |         789123               |      2009



=====================
man reikia mysql query, kad papildyt 2 lentele.
Reikia kad padidetu skaicius, tada isirasytu unikalus kodas, ir data (ji nera svarbi, gali but betoks skaicius)

Dar asiskiau: man reikia yraso i .sql faila, eilutes, INSERT INTO lentele2 VALUES...................
Values turetu buti tokie, kad 'Numeris' butu vienetu didesnis uz didziausia,  'Unikalus kodas' turetu buti toks koks yra pirmoje lenteleja prie 'Vardas' , o data nera svarbu., i ta stulpeli galima nekreipt demesio, esme butu tokia, kad prisidetu papildoma eilute antroje lenteleja , atsizvelgiant i pirmos lenteles stulpeli 'Vardas' , paimt eilute (pagal vardas reiksme) , is tos eilutes paimt  unikalu ID, ir irasyt i antra lentele.

Aiskiau manau neimanoma pasakyt :/

pirma dali dekui, sutvarkiau, o antra dalis reikia kad is pirmos lenteles paimtu unikalu koda, ir irasytu i antra lentele, o koda ta paimtu pagal varda, na ten kaip INSERT INTO lentele2 VALUES ('numeris', unikalus kodas', 'data'); bet kad unikalu koda imtu pagal varda, nzn kaip ta padaryt

Ir beja ka reikia rasyt kad jis didetu? numeris, INSERT INTO lentele2 VALUES ('???',......);