mysql写入数据库三个字段都不能重复?[100分来者有分] 1.shortname和songname都是单一的,ID似乎并不是必需的2.感觉shortname自己一个做主键就可以3.可以把shortname和songname设定联合索引4.不知道具体需求,但是最好有添加/更新时间 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果可以将“把shortname和songname设定联合索引”那多一个ID字段也无所谓了,加上“添加/更新时间”是很有必要的,“设定联合索引”具体怎么操作? ALTER TABLE `table` ADD UNIQUE ( `shortname` , `songname`) ID最好做成自增长的主键,可以做为页面之间传递的参数,保证其唯一性. 插入前查询校验仍是比较好的办法其次就是设定定段为唯一key但这个查询时可能出错,你还得捕捉出错信息个人觉得仍是插入前查一下为好 没有试过直接在SQL语句进行判断是否重复,还是查询一下好一些。ID阶段,用AUTO_INCREMENT的属性,也就是三楼说的自增长,肯定是唯一的,只不过有时候会中间断掉。 直接设定主键或者UNIQUE,不需要在程序里面做什么查询效验!如果出错,直接抓取数据库返回的错误信息就可以了。 6L的方法是正解。用数据库内置的校验更好。LZ说的问题用联合唯一索引就可以解决了。 路过可以建立多一个field, 内容是md5(shortname+songname)比较起来也方便。 看楼主的字段名称应该不需要同时比较3个字段如楼上所说的用UNIQUE就可以有重复就会插入失败 UNIQUE ( `shortname` , `songname`) 我在执行测试是这样的,shortname和songname都相同就不能写入数据库,也就是说,保这两个字段不同时重复,但我要的是任意一个字段都不重复,id那个可以自增长创建这都不是问题了。UNIQUE ( `shortname` , `songname`) 这句如果存在:shortname=nh songname=123456插入“shortname=nh songname=你好”也成功,这就不能保证这两这段任意一字段都不重复了?郁闷,还是没解决,大家帮再想想。。先谢谢了! 在shortname和songname上各建一个唯一索引啊,楼上的同学已经说得很清楚了 页面跳转问题求答案 phpMyAdmin-3.x 版本是不是 只能用在PHP5 MYSQL 5 或者更高的版本上??? 求php 用正则表达式修改body的onload里的函数 看了Asp获得真实IP地址也传个用php写的获得真实IP地址 98下能用PHP吗?怎么安装? 在php中怎样使用cookie? 请问textarea表单提交的段落怎样显示分段,急! 请问下银行登录时需要下载安装证书是如何做的 php多维数组去重 php求指导 如何遍历一个多维数组? 为什么用list分解出来的字符串转不了整数?
ID最好做成自增长的主键,可以做为页面之间传递的参数,保证其唯一性.
其次就是设定定段为唯一key
但这个查询时可能出错,你还得捕捉出错信息
个人觉得仍是插入前查一下为好
没有试过直接在SQL语句进行判断是否重复,还是查询一下好一些。ID阶段,用AUTO_INCREMENT的属性,也就是三楼说的自增长,肯定是唯一的,只不过有时候会中间断掉。
如果出错,直接抓取数据库返回的错误信息就可以了。
比较起来也方便。
应该不需要同时比较3个字段如楼上所说的用UNIQUE就可以
有重复就会插入失败
我在执行测试是这样的,shortname和songname都相同就不能写入数据库,也就是说,保这两个字段不同时重复,但我要的是任意一个字段都不重复,id那个可以自增长创建这都不是问题了。
UNIQUE ( `shortname` , `songname`)
这句如果存在:
shortname=nh songname=123456
插入“shortname=nh songname=你好”也成功,这就不能保证这两这段任意一字段都不重复了?
郁闷,还是没解决,大家帮再想想。。先谢谢了!