_db_create_field_sql
includes/database.mysql-common.inc, строка 155
- Версии
- 6
_db_create_field_sql($name, $spec)
Генерирует SQL-выражение для поля, которое может использоваться при создании или изменении таблицы.
Перед передачей поля из описания схемы в эту функцию, описание должно быть обработано фцнкцией _db_process_field()
.
Параметры
$name
Имя поля.
$spec
Описание поля, в формате описания структуры схемы.
Связанные темы
Код
<?php
function _db_create_field_sql($name, $spec) {
$sql = "`". $name ."` ". $spec['mysql_type'];
if (isset($spec['length'])) {
$sql .= '('. $spec['length'] .')';
}
elseif (isset($spec['precision']) && isset($spec['scale'])) {
$sql .= '('. $spec['precision'] .', '. $spec['scale'] .')';
}
if (!empty($spec['unsigned'])) {
$sql .= ' unsigned';
}
if (!empty($spec['not null'])) {
$sql .= ' NOT NULL';
}
if (!empty($spec['auto_increment'])) {
$sql .= ' auto_increment';
}
if (isset($spec['default'])) {
if (is_string($spec['default'])) {
$spec['default'] = "'". $spec['default'] ."'";
}
$sql .= ' DEFAULT '. $spec['default'];
}
if (empty($spec['not null']) && !isset($spec['default'])) {
$sql .= ' DEFAULT NULL';
}
return $sql;
}
?>
Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии