189 8069 5689

mysql怎么保存不了 如何将mysql中的表保存下来

SQL无法保存了,提示是建立表字段后,MYSQL返回:#1075-Incorrect table definition;there can be only one

mysql建表时如果要设置自动递增(auto_increment),必须是主键(PRIMARY KEY)设置,不能为NULL,且只能设置一个。

成都创新互联从2013年创立,是专业互联网技术服务公司,拥有项目成都网站制作、网站建设、外贸网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元陕西做网站,已为上家服务,为陕西各地企业和个人服务,联系电话:028-86922220

#1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key。

这个错误的意思是:#1075-表定义不正确;只能有一个自动列,必须将其定义为主键。

如果出现此错误需要检查建表语句,如果设置了自增,需要把自增字段设置成主键。

扩展资料

MYSQL中AUTO_INCREMENT会在新记录插入表中时生成一个唯一的数字。希望在每次插入新记录时,自动地创建主键字段的值,可以在表中创建一个 auto-increment 字段。

mysql创建自增主键表的建表语句举例:

CREATE TABLE  `tablename` (

`id` int(11) NOT NULL AUTO_INCREMENT , PRIMARY KEY (`id`)

)ENGINE=MyISAM DEFAULT CHARSET=utf8;

第一次写mysql存储过程报错保存不了,求解

有两个问题

1、参数中varchar要定义几个字符,如varchar(20)

2、mysql的注释方式没有//,只有/**/和#

3、存储过程的前后要先定义分隔符DELIMITER ;;

因此最终结果:

DELIMITER ;;

CREATE DEFINER=`root`@`%` PROCEDURE `NewProc`(IN `spid` int,IN `spprice` varchar(20),IN `spnum` varchar(20))

BEGIN

DECLARE wareid INT; #定义三个变量 

DECLARE num1 INT;

DECLARE num2 INT;

DECLARE cursor_invent CURSOR FOR SELECT goodsid FROM goods; /*定义游标 返回参数对应的商品 id*/

OPEN cursor_invent;

REPEAT

FETCH cursor_invent INTO wareid; #将id赋值给wareid

IF wareid=spid 

THEN 

SET num1=CONVERT(inventnum,SIGNED); #varchar转化成int

SET num2=CONVERT(spnum,SIGNED);

UPDATE invent SET inventnum=CONCAT(num1+num2) WHERE inventid=spid; #如果存在同名商品那么原有数量+现有数量

ELSE INSERT INTO invent(goodsid,inventnum,inventprice) values(spid,spprice,spnum); #不存在就直接插入一条记录

END IF;

UNTIL cursor_invent END REPEAT;

CLOSE cursor_invent;

END

;;

DELIMITER ;

mysql表中输入数据为什么不能保存

MySQL表中插入数据不会不保存的

只要提示:

Query OK, 0 rows affected (0.00 sec)

说明就是插入成功了

要么就是你插错表了。

要么就是你的数据库的容量不够了(就是磁盘空间不足),那也提示报错的。

你还是要把具体的情况说清楚,不然没人能回答你这个问题


分享名称:mysql怎么保存不了 如何将mysql中的表保存下来
浏览路径:http://cdxtjz.cn/article/hihgis.html

其他资讯