Типы данных
Поля должны иметь один из следующих типов данных:
BIGINT [(length)] [UNSIGNED] [ZEROFILL] | 8 байт целое (если компилятор поддерживает такой тип) |
BLOB | Двоичный объект (максимальная длина 65535 байт) |
CHAR(NUM) С | трока фиксированной длины (1 <= NUM <= 255) |
DATE | Сохраняет информацию о дате. Использует формат "YYYY-MM-DD". Может модифицироваться как строка или число, хотя Вы, вероятно, используете контекст строки для времени и даты. |
MySQL тип DATEпонимает по крайней мере следующие синтаксис.
- YYYY-MM-DD (Обратите внимание что '- ' может фактически быть ЛЮБОЙ не цифрой)
- YY-MM-DD (Обратите внимание что '- ' может фактически быть ЛЮБОЙ не цифрой)
- YYMMDD
- YYMM
Диапазон для этого типа данных от 0000-00-00 до 9999-12-31. Так что "проблема 2000" здесь не стоит. В отличие от TIMESTAMP, DATE принимает годы и в виде двух цифр от 0000 до 0099. Это не очень полезно в большинстве случаев. Используйте задание лет четырьмя цифрами в полях типа DATE. Тип DATE имеет длину 4 байта.
- Когда запись вставляется в таблицу, содержащую поля типа DATETIME, поле DATETIME не изменяется.
- Диапазон для поля типа DATETIME: '0000-01-01 00:00:00' - '9999-12-31 23:59:59' при использовании в контексте строки, и '00000000000000' - '99991231235959' при использовании в контексте числа.
[UNSIGNED]
[ZEROFILL]
[UNSIGNED]
[ZEROFILL]
MEDIUMBLOB | Двоичный объект с максимальной длиной 16777216 байт. |
MEDIUMINT [(length)] [UNSIGNED] [ZEROFILL] | Целое (3 байта). |
REAL [(length,dec)] | Идентично DOUBLE (8 байт). |
SMALLINT [(length)] [UNSIGNED] [ZEROFILL] | Целое (2 байта). |
TINYBLOB | Двоичный объект с максимальной длиной 255 байт. |
TINYINT[(length)] [UNSIGNED] [ZEROFILL] | Целое число (1 байт). |
VARCHAR(NUM) | Строка переменной длины (1 <= NUM <= 255) |
TIME | Хранит информацию о времени. Использует формат "HH:MM:SS". Может использоваться как строка или число. MySQL тип TIME понимает следующий синтаксис.
|
TIMESTAMP(NUM) | Автоматически изменяется при вставке/обновлении. Имеет формат YYMMDDHHMMSS или YYYYMMDDHHMMSS. Вы можете модифицировать поле TIMESTAMP при выполнении INSERT. Это полезно, когда Вы хотите установить произвольную дату/время для записи. В течение модификаций Вы не должны определять значение для вашего поля TIMESTAMP, или определять NULL как значение, для вставки. Иначе вы получите недопустимое значение для этого поля. |
Когда используете mysql с ODBC и Access Вы должны использовать значение 14 для NUM, поскольку это заставляет MySQL всегда использовать в годах четыре цифры. Значение 12 заставит MySQL использовать в году две цифры. Значение по умолчанию - 14.
Обратите внимание, что в случае таблиц с несколькими полями TIMESTAMP только первое такое поле будет модифицироваться автоматически.
Длина поля определяет, сколько всего цифр может иметь число, в то время как поле dec определяет, сколько из этих цифр будет после десятичной точки. Эти значения используются только для форматирования и вычисления максимальной ширины столбца.