Thread View: pl.comp.bazy-danych
4 messages
4 total messages
Started by Borneq
Tue, 03 Jan 2017 18:11
[mySQL] insert/update ?
Author: Borneq
Date: Tue, 03 Jan 2017 18:11
Date: Tue, 03 Jan 2017 18:11
16 lines
1444 bytes
1444 bytes
Mam tabelę z której pobieram "select field from ta_tabela where block_number=numerbloku" jeśli nic nie zwróci - wtedy blok/rekord nie zaczęty jeśli zwróci 0 - zaczęty jeśli zwróci 1 - zakończony Teraz chciałbym np wpisać 1, ale gdy nie ma rekordu - powinien utworzyć, gdy jest - zmodyfikować na 1 Mam http://dev.mysql.com/doc/refman/5.7/en/update.html Ale chyba będzie błąd gdy nie będzie rekordu? Jak mieć funkcjonalność zarówno insert jak i update, czy najpierw dawać selecta? W mySQL są takie połączone komendy jak DROP TABLE IF EXISTS CREATE TABLE if not exists czy w moim przypadku jest coś takiego ?
Re: [mySQL] insert/update ?
Author: Borneq
Date: Tue, 03 Jan 2017 19:32
Date: Tue, 03 Jan 2017 19:32
15 lines
1353 bytes
1353 bytes
W dniu 03.01.2017 o 19:11, Borneq pisze: > czy w moim przypadku jest coś takiego ? Jest coś takiego jak REPLACE dev.mysql.com/doc/refman/5.7/en/replace.html ale "REPLACE works exactly like INSERT, except that if an old row in the table has the same value as a new row for a PRIMARY KEY or a UNIQUE index, the old row is deleted" Działa bardziej jak Insert, a nie Update. Co zrobić gdy mam klucz primary, chcę zmienić jedno pole a wszystkie inne (czy drugie) zostawić bez zmian?
Re: [mySQL] insert/update ?
Author: Borneq
Date: Tue, 03 Jan 2017 20:44
Date: Tue, 03 Jan 2017 20:44
11 lines
1314 bytes
1314 bytes
W dniu 03.01.2017 o 20:32, Borneq pisze:
> Działa bardziej jak Insert, a nie Update. Co zrobić gdy mam klucz
> primary, chcę zmienić jedno pole a wszystkie inne (czy drugie) zostawić
> bez zmian?
Wiem!
http://stackoverflow.com/questions/12218185/mysql-replace-into-only-some-fields
by eggyal
INSERT INTO gfs(localidad, fecha, pp)
VALUES('some_place', '2012-08-05 02:00', 1.6)
ON DUPLICATE KEY UPDATE pp=VALUES(pp);
Re: [mySQL] insert/update ?
Author: Mateusz Bogusz
Date: Wed, 04 Jan 2017 19:59
Date: Wed, 04 Jan 2017 19:59
14 lines
1320 bytes
1320 bytes
> Wiem!
> http://stackoverflow.com/questions/12218185/mysql-replace-into-only-some-fields
> by eggyal
> INSERT INTO gfs(localidad, fecha, pp)
> VALUES('some_place', '2012-08-05 02:00', 1.6)
> ON DUPLICATE KEY UPDATE pp=VALUES(pp);
Zwyczajowo tą funkcjonalność szuka się pod hasłem "upsert" :-)
https://www.google.pl/#q=nazwa+bazy+danych+upsert
--
Pozdrawiam,
Mateusz Bogusz
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads