 |
Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Comunitatea PHP Romania
|
| Subiectul anterior :: Subiectul următor |
| Autor |
Mesaj |
neoZ
Data înscrierii: 28/Iun/2004
Mesaje: 18
|
| Trimis: Vin Aug 27, 2004 7:29 pm Titlul subiectului: UPDATE, TIMESTAMP |
|
|
am un tabel care printre cimpurile sale contine un cimp de tip TIMESTAMP, iar atunci cind dau:
Cod:
UPDATE un_tabel SET un_cimp=ceva WHERE alt_cimp=altceva;
dupa acest query automat imi face update la timestamp, adica modifica data punindo pe cea curenta...
Dar eu am nevoie ca necatind la ce modificari fac inregistrarilor cimpul de tip timestamp sa ramina neschimbat.... nu gasesc pina ce nici o solutie..poate stie cineva si ma poate ajuta ?:)
Multzam :) |
|
| Sus |
|
ExcalIbvr
Data înscrierii: 02/Mai/2004
Mesaje: 1107
Locație: Oradea
|
| Trimis: Vin Aug 27, 2004 11:48 pm Titlul subiectului: |
|
|
:arrow: Un artificiu pe care-l poti face e sa faci un alt query inainte de UPDATE, ceva de genu':
Cod: SELECT camp_timestamp FROM un_tabel WHERE alt_camp=altceva; Salveaza valoarea returnata de interogarea asta, apoi la UPDATE:
Cod: UPDATE un_tabel SET un_camp=ceva, camp_timestamp=variabila_timestamp WHERE alt_camp=altceva; Nu e cea mai eleganta varianta, dar functioneaza. |
|
| Sus |
|
beeuser
Data înscrierii: 20/Mai/2004
Mesaje: 382
|
| Trimis: Sâm Aug 28, 2004 9:04 am Titlul subiectului: |
|
|
http://dev.mysql.com/doc/mysql/en/TIMESTAMP_pre-4.1.html
Iau ce zice de timestamp.
The TIMESTAMP column type provides a type that you can use to automatically mark INSERT or UPDATE operations with the current date and time.
Asa ca foloseste datetime dc. vrei in loc de timestamp..vez ti. |
|
| Sus |
|
Radical
Data înscrierii: 16/Feb/2004
Mesaje: 327
Locație: Bucuresti
|
| Trimis: Lun Aug 30, 2004 9:44 am Titlul subiectului: facilitate / piedica |
|
|
Ei spun ca asta e o facilitate a MySQL-ului...
Pentru tine e o incurcatura...
Cel mai simplu mod de a evita asta pana putem trece pe 4.1 (care iti ofera un control mai bun asupra coloanelor TIMESTAMP) este de a mai adauga in tabel o alta coloana de tip TIMESTMP...
Pe prima o lasi sa faca ce vrea el cu ea... si pe a doua faci ce vrei tu cu ea... In manual spune ca MySQL se baga DOAR pe prima coloana de tip TIMESTAMP... :lol: Asa castigi si un camp gen "last updated"...
Consumul pe disk e acelasi.
Daca treci la DATETIME vei consuma 8 bytes per record per coloana... pe cand TIMESTAMP consuma doar 4... la 2 coloane ajungi tot la 8...
It's up to you... |
|
| Sus |
|
kokosanu
Data înscrierii: 16/Mai/2004
Mesaje: 59
Locație: Cluj-Napoca
|
| Trimis: Mar Aug 31, 2004 12:16 pm Titlul subiectului: |
|
|
| citeste manualul, asa cum ti-a mai fost sugerat, timestamp-ul are un obiectiv clar, in toate bazele de date, si nu face ceea ce vrei tu. fiecare tip are constrangerile lui. foloseste datetime |
|
| Sus |
|
PHPRomania Bot
Bot Member
Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google |
| Trimis: Mie Dec 26, 2007 7:01 pm Titlul subiectului: Ad |
|
|
|
|
|
| Sus |
|
| |
|