mysql 两个字段不能同时为空的设置

怎么设置mysql的同一个表中的两个外键字段不能同时为空?财富值不够了,希望高手能热心帮助... 怎么设置mysql的同一个表中的两个外键字段不能同时为空?
财富值不够了,希望高手能热心帮助
展开
 我来答
帐号已注销
2020-11-19 · TA获得超过77.1万个赞
知道小有建树答主
回答量:4168
采纳率:93%
帮助的人:168万
展开全部

如下约束:

create table 'test' (

 'test_id' int(11) not null auto_increment,

 'test_a' int(11),

'test_b' int(11),

constraint chk_a_and_b check (test_a is not null or test_b is not null)

)

扩展资料:

可以使用命令行工具管理 MySQL 数据库(命令 mysql 和 mysqladmin),也可以从 MySQL 的网站下载图形管理工具 MySQL Administrator, MySQL Query Browser 和 MySQL Workbench。

phpMyAdmin是由 php 写成的 MySQ L资料库系统管理程程序,让管理者可用 Web 界面管理 MySQL 资料库。

phpMyBackupPro也是由 PHP 写成的,可以透过 Web 界面创建和管理数据库。它可以创建伪 cronjobs,可以用来自动在某个时间或周期备份 MySQL 数据库。

参考资料来源:百度百科-mySQL

寒默忧伤
2012-08-28 · TA获得超过550个赞
知道小有建树答主
回答量:759
采纳率:0%
帮助的人:430万
展开全部
你试下加如下约束
CONSTRAINT chk_XXXX CHECK (a is not null or b is not null)
追问

好像不可以,约束没有加进来。依旧可以都插入空值。

追答
我刚才用oracle试了下,可以加进去。mysql应该也没问题的把。

你试一试下面的
create table 'test' (
'test_id' int(11) not null auto_increment,
'test_a' int(11),
'test_b' int(11),
constraint chk_a_and_b check (test_a is not null or test_b is not null)
)
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
micro0369
2012-08-28 · TA获得超过1.2万个赞
知道大有可为答主
回答量:9250
采纳率:85%
帮助的人:4085万
展开全部
试试用表级的 check 约束。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式