• Можно ли как то создать таблицу настроек в БД?

    @vohman
    Artem0071, если Вы имеете ввиду тип, то при создании таблицы configuration (выше) value описано как VARCHAR(20).
    Вы можете выбрать соответственно необходимый размер, соответствеено вашей задаче, чтобы любое значение param смогло поместиться в value как строка.
    Чёткого правила для длины здесь нет, всё зависит от Вашей задачи. Единственное, наверное, что можно сказать, это чем меньше места будут занимать значения в таблице, тем проще будет базе данных читать и записывать их (в данной таблице это не существенно), ну и может ли value принимать занчение NULL или нет - это на Ваше усмотрение: иногда удобно использовать NULL, чтобы обозначить отсутствие значения; это уже как Вы будете обрабатывать эти значения. ри создани выше структуры value может принимать значение NULL.

    DESCRIBE configuration;

    +-------+-------------+------+-----+---------+----------------+
    | Field | Type | Null | Key | Default | Extra |
    +-------+-------------+------+-----+---------+----------------+
    | id | int(11) | NO | PRI | NULL | auto_increment |
    | param | varchar(15) | NO | | NULL | |
    | value | varchar(20) | YES | | NULL | |
    +-------+-------------+------+-----+---------+----------------+

    Ну и primary key можно сделать value, а не id - опять же, это как Вам будет удобнее обрабатывать эти параметры в задаче
  • Можно ли как то создать таблицу настроек в БД?

    @vohman
    с Adamos полностью согласен,
    проблем с таким подходом не возникает никаких:

    CREATE TABLE configuration( id INT AUTO_INCREMENT PRIMARY KEY, param VARCHAR(15) NOT NULL, value VARCHAR(20));

    INSERT INTO configuration VALUE(NULL, 'OPEN', '1');
    INSERT INTO configuration VALUE(NULL, 'ACCEPTS', '1');
    INSERT INTO configuration VALUE(NULL, 'TITLE', 'some title');
    INSERT INTO configuration VALUE(NULL, 'BALANCE_CURRENT', '1500');
    INSERT INTO configuration VALUE(NULL, 'ANOTHER_PARAM', 'ANOTHER_VALUE');

    SELECT id AS ID, param AS Параметр, value AS Значение FROM configuration;

    +----+------------------------+---------------------+
    | ID | Параметр | Значение |
    +----+------------------------+---------------------+
    | 1 | OPEN | 1 |
    | 2 | ACCEPTS | 1 |
    | 3 | TITLE | some title |
    | 4 | BALANCE_CURRENT | 1500 |
    | 5 | ANOTHER_PARAM | ANOTHER_VALUE |
    +----+------------------------+---------------------+

    Ваша табличка и всё красиво )
  • Как работают операции // и % в Python для отрицательных чисел?

    @vohman Автор вопроса
    Ваш ответ, к сожалению, не верен - математику я знаю, но не профессор )))
    А результат в математике и в других я зыках явно отличается от Питоновского
  • Как работают операции // и % в Python для отрицательных чисел?

    @vohman Автор вопроса
    Я могу поспорить с Вами, но лучше попробую объяснить на примерах, что не всё так "очевидно", как Вы меня представили )))
    Итак, Вы хотите сказать, что в математике :
    (-10) "целочисленно разделить на" (3) равен (-4) ?
    Я всегда думал, что -10 div 3 равно в математике -3.
    ---------
    Допустим, я не знаю математику..
    Тогда на Си результат -10 div 3 будет -3 -1 ( Результат нижеприведенного кода: Quotient and remainder: -3 -1 )
    #include stdio.h
    #include stdlib.h
    int main(void)
    {
    div_t n;
    n = div(-10,3);
    printf("Quotient and remainder: %d %d\n", n.quot, n.rem);
    return 0;
    }

    На старом Pascal результатом -10 целочисленно разделить на 3 будет так же (-3)
    var result : integer;
    begin
    result := -10 div 3;
    writeln('Result = ', result);
    end.

    Почему же на Python результат ( -4 ) ? - нет, понятно, что считается он соответственно своего какого-то закона. Но как это быстро в голове посчитать согласно той формуле, что указана была мной выше?
    И на каком основании это деление считается в Питоне вот так а не "как обычно"?