浅谈unique列上插入重复值的MySQL解决方案
http://database.51cto.com/art/200910/155625.htm
本文的unique列上插入重复值解决方案,主要基于MySQL平台。通过这些,可以做到一些新的功能和应用。希望本文能对大家有所帮助。
当unique列在一个UNIQUE键上插入包含重复值的记录时,我们可以控制MySQL如何处理这种情况:使用IGNORE关键字或者ON DUPLICATE KEY UPDATE子句跳过INSERT、中断操作或者更新旧记录为新值。
mysql> create table menus(id tinyint(4) not null auto_increment, -> label varchar(10) null,url varchar(20) null,unique key(id)); Query OK, 0 rows affected (0.13 sec) mysql> insert into menus(label,url) values('Home','home.html'); Query OK, 1 row affected (0.06 sec) mysql> insert into menus(label,url) values('About us','aboutus.html'); Query OK, 1 row affected (0.05 sec) mysql> insert into menus(label,url) values('Services','services.html'); Query OK, 1 row affected (0.05 sec) mysql> insert into menus(label,url) values('Feedback','feedback.html'); Query OK, 1 row affected (0.05 sec)
mysql> select * from menus; +----+----------+---------------+ | id | label | url | +----+----------+---------------+ | 1 | Home | home.html | | 2 | About us | aboutus.html | | 3 | Services | services.html | | 4 | Feedback | feedback.html | +----+----------+---------------+ 4 rows in set (0.00 sec) 
相关文档:
要安裝 MySQL,可以在終端提示符后運行下列命令:
sudo apt-get install mysql-server
sudo apt-get install mysql-client
sudo apt-get install php5-mysql
// 安装php5-mysql 是将php和mysql连接起来
一旦安裝完成,MySQL 服務器應該自動啟動。您可以 ......
drop table student;
create table student
(sno int not null unique,
sname varchar(8) not null,
ssex char(2) not null,
sage int ,
sdept varchar(20));
select * from student;
alter table student drop uniq ......
MySQL的默认编码是Latin1,不支持中文.要让默认编码变为utf8。可进行如下配置:
SET GLOBAL character_set_client = utf8;
SET GLOBAL character_set_connection = utf8;
SET GLOBAL character_set_database = utf8;
SET GLOBAL character_set_results = utf8;
......
InnoDB 给 MySQL 提供了具有事务(commit)、回滚(rollback)和崩溃修复能力(crash recovery capabilities)、多版本并发控制(multi-versioned concurrency control)的事务安全(transaction-safe (ACID compliant))型表。InnoDB 提供了行级锁(locking on row level),提供与 Oracle 类似的不加锁读取(non-locking read in SELEC ......
原文:http://blog.csdn.net/gnuhpc/archive/2010/01/01/5118123.aspx
仅仅是看一些书是零零散散记下的,给自己备忘而已。建议去看专业网站的笔记。
1.主键的值必须是唯一的,并且不能为空,这可以提高MySQL从多个表中取得数据或者取得指定键值对应的行的速度。MySQL通过一个特殊的称为Index索引的数据结构做到这一点,In ......