powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / ON DUPLICATE KEY UPDATE with timestamp
4 сообщений из 4, страница 1 из 1
ON DUPLICATE KEY UPDATE with timestamp
    #38639895
xandr_ukr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!
Имеется следующее

Код: sql
1.
2.
3.
4.
5.
6.
7.
create table test
(
  a int not null,
  b timestamp not null,
  c int,
  unique key  (a,b)
)



Далее выполняем запрос
INSERT INTO test (a,b,c) VALUES (1,timestamp(CURRENT_DATE), 1)
ON DUPLICATE KEY UPDATE c=VALUES(c);

1 выполнение - новая строка
2 выполнение - update (т.е. поле "C" становится = 2 )
3 выполнение - новая строка с текущей датой и временем.

Ну а мне как бы надо чтобы и осталась 1 строка только при 3 выполнении значение равно было 3.

Почему произвольно в TS поле запихивается то, что не указано в селекте?

Заранее спасибо!
...
Рейтинг: 0 / 0
ON DUPLICATE KEY UPDATE with timestamp
    #38639974
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Покажите, как это все в консоли выглядит?
...
Рейтинг: 0 / 0
ON DUPLICATE KEY UPDATE with timestamp
    #38639989
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xandr_ukr1 выполнение - новая строка
2 выполнение - update (т.е. поле "C" становится = 2 )
3 выполнение - новая строка с текущей датой и временем.
Враки.
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
mysql> create table test
    -> (
    ->   a int not null,
    ->   b timestamp not null,
    ->   c int,
    ->   unique key  (a,b)
    -> );
Query OK, 0 rows affected (0.56 sec)

mysql> INSERT INTO test (a,b,c) VALUES (1,timestamp(CURRENT_DATE), 1)
    ->  ON DUPLICATE KEY UPDATE c=VALUES(c);
Query OK, 1 row affected (0.13 sec)

mysql> select * from test;
+---+---------------------+------+
| a | b                   | c    |
+---+---------------------+------+
| 1 | 2014-05-13 00:00:00 |    1 |
+---+---------------------+------+
1 row in set (0.03 sec)

mysql> INSERT INTO test (a,b,c) VALUES (1,timestamp(CURRENT_DATE), 1)
    ->  ON DUPLICATE KEY UPDATE c=VALUES(c);
Query OK, 0 rows affected (0.00 sec)

mysql> select * from test;
+---+---------------------+------+
| a | b                   | c    |
+---+---------------------+------+
| 1 | 2014-05-13 00:00:00 |    1 |
+---+---------------------+------+
1 row in set (0.00 sec)

mysql> INSERT INTO test (a,b,c) VALUES (1,timestamp(CURRENT_DATE), 1)
    ->  ON DUPLICATE KEY UPDATE c=VALUES(c);
Query OK, 0 rows affected (0.00 sec)

mysql> select * from test;
+---+---------------------+------+
| a | b                   | c    |
+---+---------------------+------+
| 1 | 2014-05-13 00:00:00 |    1 |
+---+---------------------+------+
1 row in set (0.00 sec)

mysql>
...
Рейтинг: 0 / 0
ON DUPLICATE KEY UPDATE with timestamp
    #38639991
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или имелось в виду, что третий параметр в запросе меняется? ну тогда вспомни, что по дефолту при обновлении ON UPDATE = CURRENT TIMESTAMP
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / ON DUPLICATE KEY UPDATE with timestamp
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]