我希望创建一个表格,其中的id,support等内容都是int的,但是创建后却发现被修改为tinyint(3)和smallint(5).
因为希望hibernate能自动映射,总被映射为string,不能正确处理。怎么能修改设置使其不自动变化呢?
#不要说使用id TINYINT(1) 这样的方法。mysql> CREATE TABLE temp (
-> PRIMARY KEY(id) ,
-> id TINYINT UNSIGNED Default 0 ,
-> NickName CHAR(32) ,
-> support smallint unsigned
-> );
Query OK, 0 rows affected (0.03 sec)mysql> describe temp
-> ;
+----------+----------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+----------------------+------+-----+---------+-------+
| id | tinyint(3) unsigned | NO | PRI | 0 | |
| NickName | char(32) | YES | | NULL | |
| support | smallint(5) unsigned | YES | | NULL | |
+----------+----------------------+------+-----+---------+-------+
3 rows in set (0.00 sec)
因为希望hibernate能自动映射,总被映射为string,不能正确处理。怎么能修改设置使其不自动变化呢?
#不要说使用id TINYINT(1) 这样的方法。mysql> CREATE TABLE temp (
-> PRIMARY KEY(id) ,
-> id TINYINT UNSIGNED Default 0 ,
-> NickName CHAR(32) ,
-> support smallint unsigned
-> );
Query OK, 0 rows affected (0.03 sec)mysql> describe temp
-> ;
+----------+----------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+----------------------+------+-----+---------+-------+
| id | tinyint(3) unsigned | NO | PRI | 0 | |
| NickName | char(32) | YES | | NULL | |
| support | smallint(5) unsigned | YES | | NULL | |
+----------+----------------------+------+-----+---------+-------+
3 rows in set (0.00 sec)
-> PRIMARY KEY(id) ,
-> id TINYINT UNSIGNED Default 0 ,
-> NickName CHAR(32) ,
-> support smallint unsigned
-> );
应该是你自己在创建表的时候指定的吧