SQL запрос который создаст таблицу описанную в схеме выше:
CREATE TABLE '#__myextension_foobars' (
'id' INTEGER UNSIGNED NOT NULL DEFAULT NULL AUTO_INCREMENT,
'content' TEXT NOT NULL DEFAULT '',
'checked_out' INTEGER UNSIGNED NOT NULL DEFAULT 0,
'checked_out_time' DATETIME NOT NULL DEFAULT '0000-00-00
00:00:00',
'params' TEXT NOT NULL DEFAULT '',
'ordering' INTEGER UNSIGNED NOT NULL DEFAULT 0,
'hits' INTEGER UNSIGNED NOT NULL DEFAULT 0,
'published' INTEGER UNSIGNED NOT NULL DEFAULT 0,
PRIMARY KEY('id')
)
CHARACTER SET 'utf8' COLLATE 'utf8_general_ci';
Поля даты
Очень часто используется поле типа datetime, хранящее дату и время некоторого события. Когда мы используем это поле, очень важно знать про эффект временных зон. Все даты и время должны быть сохранены в нулевом поясе UTC+0 (GMT / Z).
А уже при выводе на экран используем класс JDate.
Многоязычные требования
В кодировке UTF-8 количество бит на символ от 8 и более. К сожалению в MySql версиях до 4.1.2, один символ всегда занимает один байт, что вызывает некоторые проблемы. Единственное решение - это создать различные файлы sql запросов для различных версий MySql-серверов, поддерживающих и не поддерживающих кодировку UTF-8
Для MySql не поддерживающих данную кодировку мы должны задать увеличенный размер полей. Например, для поля varchar(20) лучше задать размер varchar(60). Размер поля увеличен в три раза, потому что большинство символов в кодировке UTF-8 занимают максимум 3 байта.
Но например поле varchar(100) мы должны были бы увеличить в три раза и получить varchar(300). Но это невозможно, так как максимальный размер - varchar(255). Единственный выход - это задать тип TEXT.
Для примера, ядро Joomla содержит таблицу #__content, хранящее поле title. Для MySql поддерживающих UTF-8 поле определяется как
а для не поддерживающих
Компьютерная помощь
Ремонт компьютеров
Ремонт ноутбуков
Заправка картриджей