Вы можете использовать метод ToString () для преобразования целого в строку.
int x = 10;
Console.WriteLine (x.ToString ())
ВАЖНОЕ РЕДАКТИРОВАНИЕ: теперь возможно достигнуть этого с полями DATETIME с тех пор MySQL 5.6.5 , смотреть на другое сообщение ниже...
Предыдущие версии не могут сделать этого с ДАТОЙ И ВРЕМЕНЕМ...
, Но можно сделать это с МЕТКОЙ ВРЕМЕНИ:
mysql> create table test (str varchar(32), ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP);
Query OK, 0 rows affected (0.00 sec)
mysql> desc test;
+-------+-------------+------+-----+-------------------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+-------------------+-------+
| str | varchar(32) | YES | | NULL | |
| ts | timestamp | NO | | CURRENT_TIMESTAMP | |
+-------+-------------+------+-----+-------------------+-------+
2 rows in set (0.00 sec)
mysql> insert into test (str) values ("demo");
Query OK, 1 row affected (0.00 sec)
mysql> select * from test;
+------+---------------------+
| str | ts |
+------+---------------------+
| demo | 2008-10-03 22:59:52 |
+------+---------------------+
1 row in set (0.00 sec)
mysql>
** ПРОТЕСТ: при определении столбца с CURRENT_TIMESTAMP НА как значение по умолчанию необходимо будет ВСЕГДА определять значение для этого столбца, или значение автоматически сбросит себя к "теперь ()" на обновлении. Это означает, что, если Вы не хотите, чтобы значение изменилось, Ваш оператор UPDATE должен содержать" [Ваше имя столбца] = [Ваше имя столбца]" (или некоторое другое значение) или значение станет "теперь ()". Странный, но верный. Я надеюсь, что это помогает. Я использую 5.5.56-MariaDB **
Можно использовать теперь () для устанавливания значения столбца даты и времени, но иметь в виду, что Вы не можете использовать это в качестве значения по умолчанию.
При попытке установить значение по умолчанию как ТЕПЕРЬ (), я не думаю поддержки MySQL это. В MySQL Вы не можете использовать функцию или выражение как значение по умолчанию ни для какого типа столбца, за исключением столбца Типа данных timestamp, для которого можно определить CURRENT_TIMESTAMP как значение по умолчанию.
это - действительно ужасные новости. вот долгая незаконченная ошибка/запрос новых функций для этого . то обсуждение также говорит об ограничениях типа данных timestamp.
я серьезно задаюсь вопросом, какова проблема с получением этой реализованной вещи.
MySQL (before version 5.6.5) does not allow functions to be used for default DateTime values. TIMESTAMP is not suitable due to its odd behavior and is not recommended for use as input data. (See MySQL Data Type Defaults.)
That said, you can accomplish this by creating a Trigger.
I have a table with a DateCreated field of type DateTime. I created a trigger on that table "Before Insert" and "SET NEW.DateCreated=NOW()
" and it works great.
I hope this helps somebody.
Я смог решить эту проблему с помощью этого оператора alter в моей таблице, у которой было два поля даты и времени.
ALTER TABLE `test_table`
CHANGE COLUMN `created_dt` `created_dt` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00',
CHANGE COLUMN `updated_dt` `updated_dt` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;
Это работает так, как и следовало ожидать now () для работы. Вставка нулей или игнорирование полей created_dt и updated_dt приводит к идеальному значению отметки времени в обоих полях. Любое обновление строки изменяет файл updated_dt. Если вы вставляете записи через браузер запросов MySQL, вам нужен еще один шаг, триггер для обработки created_dt с новой меткой времени.
CREATE TRIGGER trig_test_table_insert BEFORE INSERT ON `test_table`
FOR EACH ROW SET NEW.created_dt = NOW();
Триггер может быть любым, как вы хотите. Мне нравится соглашение об именах [trig] _ [my_table_name] _ [insert]
Для всех, кто использует колонку TIMESTAMP в качестве решения, я хочу обратить внимание на следующее ограничение из руководства:
http://dev.mysql.com/doc/refman/5.0/en/datetime.html
"Тип данных TIMESTAMP имеет диапазон от '1970-01-01 00:00:01' UTC до '2038-01-19 03:14:07' UTC. Он имеет различные свойства, зависящие от версии MySQL и режима SQL, в котором работает сервер. Эти свойства описаны далее в этом разделе. "
Так что это, очевидно, сломает ваше программное обеспечение примерно через 28 лет.
Я считаю, что единственным решением на стороне базы данных является использование триггеров, как упоминалось в других ответах.