|
|
|
как в mysql получить первое число месяца текущего времени
|
|||
|---|---|---|---|
|
#18+
Здравствуйте , я новичок не судите строго подробнее таблица dirty_data ddl Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. В эту таблицу ежемесячно буду записывать по 60 тыс записей с помощью хранимки поле date_record хочу использовать как текущее время записи (наверняка надо брать с минутами и секундами, тип посоветуйте) поле date1_record будет использоваться как первое число месяца даты записи остальные поля заполняет запрос посоветуйте какие ключевые поля использовать , по каким полям лучше индексы построить, поле лицевой счет будет уникальным Еще список полей в таблице не окончательный(добавлю 6) , эти поля будут заполняться из веб сервиса по полю лиц счет и полю первое чило месяца(т е date1_record) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2016, 10:18 |
|
||
|
как в mysql получить первое число месяца текущего времени
|
|||
|---|---|---|---|
|
#18+
как по дефалту присвоить текущее время, и первое число месяца/? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2016, 11:28 |
|
||
|
как в mysql получить первое число месяца текущего времени
|
|||
|---|---|---|---|
|
#18+
olegon7как по дефалту присвоить текущее время,timestamp on default current_timestamp olegon7и первое число месяца/?только извне или триггером ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2016, 11:31 |
|
||
|
как в mysql получить первое число месяца текущего времени
|
|||
|---|---|---|---|
|
#18+
olegon7поле date1_record будет использоваться как первое число месяца даты записиЗачем вообще это поле? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2016, 11:32 |
|
||
|
как в mysql получить первое число месяца текущего времени
|
|||
|---|---|---|---|
|
#18+
olegon7поле лицевой счет будет уникальнымТ.е. по каждому лицевом счету будет не более одной операции (или что там в этой таблице) ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2016, 11:33 |
|
||
|
как в mysql получить первое число месяца текущего времени
|
|||
|---|---|---|---|
|
#18+
miksoft, подозреваю, что уникальной будет пара "счёт-месяц" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2016, 11:34 |
|
||
|
как в mysql получить первое число месяца текущего времени
|
|||
|---|---|---|---|
|
#18+
tanglir, правильно именно счет месяц 60 тыс лиц счетов январь 60 тыс лиц счетов феврвль и т д лицевые счета будут повторятся ежемесячно поле date1_record и нужно для идентификации месяца .... в основном запросы будкт строится получить счета за такой то месяц where date1_record=январь поле date_record как время записи в таблицу уже с учетом часов минут ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2016, 12:00 |
|
||
|
как в mysql получить первое число месяца текущего времени
|
|||
|---|---|---|---|
|
#18+
например если записал 3 -его числа - а данные ошибочны , потому что записать одни и те же данные можно записать несколько раз в месяц что бы без проблем смог удалить лишние ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2016, 12:03 |
|
||
|
как в mysql получить первое число месяца текущего времени
|
|||
|---|---|---|---|
|
#18+
tanglir, а если так? timestamp (4) ограничить он будет выдавать месяц год так? Запросом я могу выбрать из него нужный месяц? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2016, 12:11 |
|
||
|
как в mysql получить первое число месяца текущего времени
|
|||
|---|---|---|---|
|
#18+
olegon7timestamp (4) ограничить он будет выдавать месяц год так?Нет. В MySQL нет готового и удобного типа данных для хранения только года-месяца. А timestamp(4) означает обычный timestamp с дополнительными четырьмя знаками после запятой. Т.е. с точностью до 100 мкс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2016, 12:17 |
|
||
|
как в mysql получить первое число месяца текущего времени
|
|||
|---|---|---|---|
|
#18+
хранимка выполняется с ошибкой 1136 - Column count doesn't match value count at row 1 Код: sql 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2016, 13:05 |
|
||
|
как в mysql получить первое число месяца текущего времени
|
|||
|---|---|---|---|
|
#18+
в чем причина? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2016, 13:06 |
|
||
|
как в mysql получить первое число месяца текущего времени
|
|||
|---|---|---|---|
|
#18+
все исправил) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2016, 13:10 |
|
||
|
как в mysql получить первое число месяца текущего времени
|
|||
|---|---|---|---|
|
#18+
olegon7, Буквальный перевод - Количество колонок не соответствует количеству значений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2016, 13:10 |
|
||
|
как в mysql получить первое число месяца текущего времени
|
|||
|---|---|---|---|
|
#18+
miksoft, так что вы посоветуете с датой использовать 2 поля c типом datetime по умолчанию они должны быть заполнены константой(null либо empty) а если при инсерте в коде хранимки прописать что бы поля date1_record и date_record заполнялись функциями now() и если есть такая функция обрезания до месяца год(если конечно есть такая в mysql) вот хранимка Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2016, 13:35 |
|
||
|
как в mysql получить первое число месяца текущего времени
|
|||
|---|---|---|---|
|
#18+
olegon7так что вы посоветуете с датойКакой-то гибрид надо делать. Какой именно - много от чего зависит. Например, как изначально предполагалось, в поле DATE хранить первое число месяца. Или в числом поле хранить число формата YYYYMM (например 201604). Или в строковом поле "2016-04". Т.е. вариантов множество. Заполнять придется или триггером, или тем INSERT-ом, который будет писать данные в таблицу. olegon7функция обрезания до месяца год(если конечно есть такая в mysql)EXTRACT(YEAR_MONTH FROM '2009-07-02 01:02:03') DATE_FORMAT('2009-10-04 22:23:00', '%Y %m') ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2016, 13:45 |
|
||
|
как в mysql получить первое число месяца текущего времени
|
|||
|---|---|---|---|
|
#18+
Кстати, у нас в одной из таблиц вообще год и месяц выделены в отдельные числовые поля - тоже вариант. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2016, 13:47 |
|
||
|
как в mysql получить первое число месяца текущего времени
|
|||
|---|---|---|---|
|
#18+
miksoft, решил месяц_дату хранить в одном поле в строковом виде вот ddl таблички Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. подскажите автоискремент я правильно задал? 10 знаков? что будет при его переполнении? mon_year задал 7 знаков максимально возможное 12-2016 так? как расставить правильно уникальные ключи? первичный ай-ди так? предпологается что раз в месяц в таблицу будет падать по 60 тыс записей лиц счеты уникальны в пределе месяца , т е поля mon_year по таблице вообще куча настроек , например тип таблицы какой правильнее InnoDB? подскажите новичку уважаемые гуру? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2016, 11:56 |
|
||
|
как в mysql получить первое число месяца текущего времени
|
|||
|---|---|---|---|
|
#18+
код хранимки Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2016, 11:57 |
|
||
|
как в mysql получить первое число месяца текущего времени
|
|||
|---|---|---|---|
|
#18+
olegon7подскажите автоискремент я правильно задал? 10 знаков? что будет при его переполнении?У целочисленных полей семейства INT число в скобках ничего не означает. Т.е. unsigned int - это всегда число от 0 до 4294967295. Посчитайте с какой интенсивностью будут добавляться записи и разделите 4294967295 на нее. Если вдруг полученный срок будет слишком мал для срока жизни системы, то используйте BIGINT. Его хватит точно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2016, 12:03 |
|
||
|
как в mysql получить первое число месяца текущего времени
|
|||
|---|---|---|---|
|
#18+
olegon7mon_year задал 7 знаков максимально возможное 12-2016 так?Я бы сделал впереди год, а потом месяц. Чтобы порядок строковой сортировки совпадал с натуральным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2016, 12:04 |
|
||
|
как в mysql получить первое число месяца текущего времени
|
|||
|---|---|---|---|
|
#18+
olegon7как расставить правильно уникальные ключи?(`mon_year`, `lic_sch`) Либо в обратном порядке, зависит от запросов, которые будут использовать этот индекс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2016, 12:06 |
|
||
|
как в mysql получить первое число месяца текущего времени
|
|||
|---|---|---|---|
|
#18+
olegon7подскажите автоискремент я правильно задал? 10 знаков? что будет при его переполнении? 2633664 olegon7mon_year задал 7 знаков максимально возможное 12-2016 так?если фиксированная длина, можно просто char(7) ...и вообще, зачем 7, если можно 6? и почему месяц перед годом? olegon7как расставить правильно уникальные ключи?Что должно быть уникально, на то и делать ключи. В вашем случае это (mon_year,lic_sch). Или в обратном порядке - зависит от того, какие запросы будут к базе. "AUTO_INCREMENT=196607" - убрать. olegon7 Код: sql 1. 2. 3. Шо, опять?! (с) olegon7 Код: sql 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2016, 12:06 |
|
||
|
как в mysql получить первое число месяца текущего времени
|
|||
|---|---|---|---|
|
#18+
miksoft, спасибо за совет) я думаю надолго хватит)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2016, 12:06 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=39215571&tid=1831853]: |
0ms |
get settings: |
8ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
164ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
66ms |
get tp. blocked users: |
1ms |
| others: | 212ms |
| total: | 484ms |

| 0 / 0 |
