mysql已经指定主键了,为什么用phpMyAdmin插入的时候,主键设置为空也不报错啊? 还有,数据字段的Null,明明指定为Not Null了,插入空数据也不报错,为什么啊? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你的建表语句是什么?如果是 auto_increment 的字段为主键,MYSQL会分配一个数字给这个字段的,当你输入为null的时候。如果不是,请给出你的建表语句,和insert 语句。 show create table tb_name;和insert语句 CREATE TABLE `user` (\n `id` char(8) NOT NULL, `lang` bigint(20) unsigned NOT NULL,\n `status` char(1) NOT NULL default '0',\n PRIMARY KEY (`id`,`lang`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8这个是show create table tb_name; 得到的结果,都指定非空了。INSERT INTO `mydb`.`user` (`id`, `lang`, `status`) VALUES ('', '', '0');用phpMyAdmin插入的,因为什么都没填,SQl语句变成上面那样,结果还是能插入。也不报错。 你需要了解一下NULL, '', ' ' 都是些什么。 NULL 空'' 空字符串' ' 空格字符串你插入的是 '' 不是null, 当然会被允许! 这是什么原因啊,没有找出错来啊(数据库用的是mysql) 关于mysql索引机制的讨论 请问UDF 返回值是一组数组怎么弄? mysql 频繁插入会不会崩溃 mysql二进制文件处理 经典SQL语句 mysql的视图能传参数吗 急!急!急!关于MYODBC远程连接MYSQL的问题 mysql 如何创建这样一个函数 多条件搜索查询 数据类型求解 MY SQL这个问题怎么解决
如果不是,请给出你的建表语句,和insert 语句。
和
insert语句
这个是show create table tb_name; 得到的结果,都指定非空了。
INSERT INTO `mydb`.`user` (`id`, `lang`, `status`) VALUES ('', '', '0');用phpMyAdmin插入的,因为什么都没填,SQl语句变成上面那样,结果还是能插入。也不报错。
'' 空字符串
' ' 空格字符串你插入的是 '' 不是null, 当然会被允许!