Tolong pilih kategori sesuai, jenis posting (diskusi atau bukan) dan sertakan tag/topik yang sesuai seperti komputer, java, php, mysql, dll. Promosi atau posting tidak pada tempatnya akan kami hapus!
- Bagi Anda yang ingin mendaftar, baca link berikut:
http://diskusiweb.com/discussion/50491/how-to-registrasi-diskusiweb-com-baca-ini-terlebih-dahulu
- Cara menyisipkan kode program supaya tampil rapi dan terformat dengan baik di diskusiweb.com: http://www.diskusiweb.com/discussion/50415/cara-menyisipkan-kode-program-di-diskusiweb-com
- Cara posting gambar/image di post Anda: http://www.diskusiweb.com/discussion/47345/cara-menyisipkan-menyertakan-image-pada-posting/p1

mengambil id terakhir yg di update

klo mengambil id terakhir yg di insert :  $this->db->insert_id();
klo mengambil id terakhir yg di update?

aku coba :

SELECT id FROM tb_keren ORDER BY id DESC LIMIT 1

hasilnya dia mengambil id yg terakhir

cman gimana caranya menyimpan id yg terakhir ini ke dalam sebuah variable?

mohon pencerahannya :D
Tagged:

Comments

  • edited June 2015
    php kah? field harus primarykey, dan autoincrement.

    $variable = mysql_insert_id();

    pake CI
    $variable = $this->db->insert_id();
  • edited June 2015
    klo itu mah buat insert
    itu aku juga udah tau
    dia cman jalan di insert, di update enggak

    klo mengambil id terakhir yg di insert :  $this->db->insert_id();
    klo mengambil id terakhir yg di update?

  • well... lo mau ngambil id terkahir yang di update toh.. tambahin kolom last_modified lah..
    setau gw gk ada syntax buat mengetahui id yang baru di update.
  • edited June 2015
    solved :D


    gak perlu tambah kolom segala
    SELECT id FROM tb_keren ORDER BY id DESC LIMIT 1
    itu juga bisa :D
  • edited June 2015
    masa ?
    baru tau gw ...





    testing cuma bisa jalan kalo pake mysql 5.6
    di bawah 5.6 mesti bikin sendiri fungsi buat microtime

    SHOW VARIABLES LIKE "version";

    Variable_name | Value
    version | 5.6.19

    CREATE TABLE `test`(
    `id` BIGINT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
    `str` VARCHAR(255),
    `ts` TIMESTAMP(6) DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6),
    PRIMARY KEY (`id`)
    );

    INSERT INTO `test` (str) VALUES ("1");
    INSERT INTO `test` (str) VALUES ("2");
    INSERT INTO `test` (str) VALUES ("3");
    INSERT INTO `test` (str) VALUES ("4");
    INSERT INTO `test` (str) VALUES ("5");


    id | str | ts
    1 | 1 | 2015-06-14 10:01:58.281250
    2 | 2 | 2015-06-14 10:01:58.281250
    3 | 3 | 2015-06-14 10:01:58.296875
    4 | 4 | 2015-06-14 10:01:58.296875
    5 | 5 | 2015-06-14 10:01:58.312500

    UPDATE `test` SET str="a" WHERE id=3;


    id | str | ts
    1 | 1 | 2015-06-14 10:01:58.281250
    2 | 2 | 2015-06-14 10:01:58.281250
    3 | a | 2015-06-14 10:03:34.484375
    4 | 4 | 2015-06-14 10:01:58.296875
    5 | 5 | 2015-06-14 10:01:58.312500

    UPDATE `test` SET str="a" WHERE id IN (1,2,3);


    id | str | ts
    1 | a | 2015-06-14 10:03:51.406250
    2 | a | 2015-06-14 10:03:51.406250

    3 | a | 2015-06-14 10:03:34.484375
    4 | 4 | 2015-06-14 10:01:58.296875
    5 | 5 | 2015-06-14 10:01:58.312500

    SELECT id FROM `test` ORDER BY id DESC LIMIT 1;

    id
    5

    SELECT id FROM `test` WHERE id IN (1,2,3) ORDER BY id DESC LIMIT 1;

    id
    3

    apa bener ?
    yg terakhir di update itu id 1 dan 2
  • edited June 2015
    :D

    berarti begini :

    SELECT id FROM tb_keren WHERE updated_date is not null ORDER BY updated_date DESC LIMIT 1
  • tergantung updated_date isinya apa
  • edited June 2015
    updated_date isi nya date & time
    tipe datanya : timestamp without time zone

    aku testing di postgre 9.4

    berhasil :-bd
  • edited June 2015
    selama microsecond nya ada ... ya, bisa
    tapi kalo cuma sampai detik ... bisa, tapi kagak valid
  • edited June 2015
    field ku cman sampe detik

    biar ada microsecond nya, tipe data nya di ubah?
  • kagak tau kalo postgre
    kagak bisa coba

    baca saja dokumentasi nya

    kalo baca ini :
    http://www.postgresql.org/docs/9.4/static/functions-datetime.html
    postgre juga bisa ambil data microtime
  • ok makasih master :-bd
  • edited June 2015
    http://stackoverflow.com/questions/9624284/current-timestamp-in-milliseconds?lq=1


    SELECT id, updated_date, date_part('milliseconds', updated_date)
    FROM tb_keren
    WHERE updated_date is not null
    ORDER BY updated_date DESC, date_part LIMIT 1


    bener kan? :D
  • edited June 2015
    itu mah cuma ambil milisecond nya doang ...

    butuh elo itu menyimpan :
    yyyy-mm-dd HH:ii:ss.ffffff
    di field yg mencatat waktu update
    bukan cuma yyyy-mm-dd HH:ii:ss

    kaya yg gw contohin pake mysql

    jadi ntar tinggal :
    ORDER BY ts DESC LIMIT 1

    yg elo butuhin :
    - tipe field yg bisa simpan : yyyy-mm-dd HH:ii:ss.ffffff
    - update catatan waktu tiap kali update dgn format : yyyy-mm-dd HH:ii:ss.ffffff

    paham kagak ?



    gw kagak bisa bantu banyak urusan postgre nya
    karena kagak ada di komputer gw

    gw contohinnya pake mysql biar elo paham mau nya
  • berarti bener tipe datanya harus diubah

    kirain bisa, tanpa ubah tipe data :D


    makasih masukannya master :-bd
Sign In or Register to comment.