create table ty_product(
id number(3),
proname varchar(20),
profile varchar(80),
prive number(7),
totalnum number(3),
picname varchar(20),
);
我用这样的语句,总是报错,mysql不支持number吗,
换成create table ty_product(
id int(3),
proname varchar(20),
profile varchar(80),
prive int(7),
totalnum int(3),
picname varchar(20),
);还是有错,用mysql不久,没经验

解决方案 »

  1.   

    create table ty_product(
    id int(3),
    proname varchar(20),
    profile varchar(80),
    prive int(7),
    totalnum int(3),
    picname varchar(20),
    );NUMBER不是MYSQL中的标准格式。你上面的语句多了一个,, 其实错误信息中应该已经明确的指出了。
    mysql> create table ty_product(
        ->  id int(3),
        ->  proname varchar(20),
        ->  profile varchar(80),
        ->  prive   int(7),
        ->  totalnum        int(3),
        ->  picname         varchar(20)
        -> );
    Query OK, 0 rows affected (0.06 sec)mysql>
      

  2.   

    http://dev.mysql.com/doc/refman/5.1/zh/column-types.html#column-type-overview
    11.1. 列类型概述
    11.1.1. 数值类型概述
    11.1.2. 日期和时间类型概述
    11.1.3. 字符串类型概述
      

  3.   

    不好意思,还有点问题,insert into ty_product values(1,'篮球','NBA篮球',98,10,'demo.jsp');
    1366 - Incorrect string value: '\xE7\xAF\xAE\xE7\x90\x83' for column 'proname' at row 1
    这个错误说明了什么,mysql对中文的支持怎样
      

  4.   

    这是字符的编码的问题,
    在mysql Administrator中建的表,默认的字符编码试latin1,我插入的字符串为utf8编码的,修改table的编码为utf8,问题解决。修改table的编码目前找到两种方式。一种是:
    通过mysql Administrator备份、恢复功能导出sql文件,修改character set为utf8后恢复到数据库中。另一种是网上搜到的(没验证过):
    alter table [table_name] character set utf8;
    alter table [table_name] modify [col_name] char(20) character set utf8//运行这句需保证table为空