mysql里面没设置默认值字段也不允许为空,插入语句中也没指定值却能插入成功!是什么情况??

问题描述

mysql里面没设置默认值字段也不允许为空,插入语句中也没指定值却能插入成功!是什么情况??

如题,我的表结构是这样的

SQL语句:INSERT INTO test (name) VALUES ('lsq2')

求大神帮忙!!

解决方案

后面的图片上错了,

解决方案二:

楼主你替数据库想想,又不能为null,又得是int类型,还能怎么办,数据库只能补个0.

解决方案三:

我以为是会报错,这是我本地测试的 没有报错我在正式服务器上试了报错了,说字段没有默认值。

时间: 2024-08-22 14:30:28

mysql里面没设置默认值字段也不允许为空,插入语句中也没指定值却能插入成功!是什么情况??的相关文章

MySQL表字段设置默认值

环境 MySQL 5.1 + 命令行工具 问题 MySQL表字段设置默认值 解决 --SQL: CREATE TABLE test( i_a int NOT NULL DEFAULT 1, ts_b timestamp NOT NULL DEFAULT NOW(), c_c char(2) NOT NULL DEFAULT '1' ); --以下SQL不合法 --time_d time NOT NULL DEFAULT CURTIME(), --date_e date NOT NULL DEFA

MySQL表字段设置默认值(图文教程及注意细节)_Mysql

环境 MySQL 5.1 + 命令行工具 问题 MySQL表字段设置默认值 解决 复制代码 代码如下: --SQL: CREATE TABLE test( i_a int NOT NULL DEFAULT 1, ts_b timestamp NOT NULL DEFAULT NOW(), c_c char(2) NOT NULL DEFAULT '1' ); --以下SQL不合法 --time_d time NOT NULL DEFAULT CURTIME(), --date_e date NO

随机数字-access 中 字段“点击量”,设置默认值:int(100*rnd())+100 点击量不变化?

问题描述 access 中 字段"点击量",设置默认值:int(100*rnd())+100 点击量不变化? access 中 字段"点击量",设置默认值:int(100*rnd())+100 为什么发布新闻之后,点击量不变化?想要效果,点击量是一个100到200之间的随机数字,但,第一篇随机的,后面再发就和第一篇的点击量相同了. 解决方案 先调用Randomize否则每次产生的是一样的 解决方案二: 先调用Randomize否则每次产生的是一样的

MySql折腾小记二:text/blog类型不允许设置默认值,不允许存在两个CURRENT_TIMESTAMP

在 CYQ.Data 数据框架的反向工程中,遇到MySQL的问题又2个,记录下先.   1:对于时间的默认值,为:CURRENT_TIMESTAMP,不允许一个表存在两个日期都设置了:CURRENT_TIMESTAMP 解决的办法: 按理只设一个. 但在反向工程中,若遇到两个或以上的设置,为保证导数据的正常,直接取消日期的默认值.   2:text/blog类型不允许设置默认值,由于其它数据库类型是可以有默认值,所以转过来一般也会设置默认值,不过默认状态下不允许设置默认值. 解决的方法: 修改m

当sql表中增加一个字段后(没给默认值),怎么才能不让程序出错

问题描述 当sql表中增加一个字段后(没给默认值),怎么才能不让程序出错,在程序中应该怎么修改,,修改时不涉及增加的那个字段... 解决方案 解决方案二:新增字段允许为null,所有用到该表的地方都显示指定字段解决方案三:引用楼主qq_20881211的回复: 当sql表中增加一个字段后(没给默认值),怎么才能不让程序出错,在程序中应该怎么修改,,修改时不涉及增加的那个字段... 删除这个字段,就不会出错了.--更好的办法,是与时俱进.让懂编程开发的人来修改程序测试出来的bug,然后别的人就擎等

Mysql select语句设置默认值的方法_Mysql

1.在没有设置默认值的情况下: 复制代码 代码如下: SELECT userinfo.id, user_name, role, adm_regionid, region_name , create_timeFROM userinfoLEFT JOIN region ON userinfo.adm_regionid = region.id 结果: 设置显示默认值: 复制代码 代码如下: SELECT userinfo.id, user_name, role, adm_regionid, IFNUL

easyui,combobox设置默认值联动问题.

问题描述 easyui,combobox设置默认值联动问题. 图中,款项类型和款项名称是一组联动下拉框.就像省市区那样的联动.现在我款项类型的数据源有两个字段(Code和TypeName).但是我的valueFild和textFild都存的TypeName(因为我数据库中只有TypeName一个字段).我试过先绑定款项类型下拉数据源,然后互再用select函数选中,但是无法选中数据(数据源和待选中值都是存在的!),求高人指点!!! 解决方案 我的问题前提是:某种条件下,款项类型和款项名称都要设置

[Android]为Spinner填充数据后设置默认值的问题

前言 为Spinner适配完数据后需要设置其默认选项,但是发现直接setSelection(int position)有时候不管用,打开选项又发现已经选中了,但是显示出来的选项又始终默认第一个,本文为文章1的中文简单译本.   文章 1. Using spinner.setSelection & finding the spinner doesn't show the selected item when closed?   声明 欢迎转载,但请保留文章原始出处:)  博客园:http://ww

赋值-c# 后台给select下拉框设置默认值

问题描述 c# 后台给select下拉框设置默认值 点击编辑时 要给下拉框赋值,在后台拿到对应的值后怎么给下拉框赋值.控件.属性=值: 请问是哪个属性.谢谢 解决方案 select是客户端的?还是服务器端的asp:DropDownList 客户端的直接 document.getElementById('selid').value='<%=cs后台文件中一个protected全局变量%>' 服务器的用ddl.SelectedValue=xxxx 解决方案二: 到底要默认值还是要赋值啊. 你说的是