mysql>create database test_db
Query OK, 1 row affected (0.00 sec)
切换到test_db上
mysql>use test_db
Database changed
mysql>
2.创建一个表tb_emp1
create table tb_emp1
(
id INT(11),
name VARCHAR(25),
deptid INT (11),
salary FLOAT
)
mysql>create table tb_emp1
->(
-> id INT(11),
-> name VARCHAR(25),
-> deptid INT (11),
-> salary FLOAT
->)
Query OK, 0 rows affected (0.09 sec)
当某表被外键约束关联时,InnoDB不允许你删除该表,除非你执行了SET foreign_key_checks = 0命令。当LOAD DATA和ALTER TABLE *** 作时设置foreign_key_checks为0是很有用的,可以避免外键检查提高效率。foreign_key_checks从MySQL 3.23.52 and 4.0.3开始时可用的。
查看当前FOREIGN_KEY_CHECKS的值可用如下命令
SELECT @@FOREIGN_KEY_CHECKS
禁用外键约束:SET FOREIGN_KEY_CHECKS=0
启动外键约束:SET FOREIGN_KEY_CHECKS=1
其他参考:
http://dev.mysql.com/doc/refman/4.1/en/innodb-foreign-key-constraints.html
MySQL之外键约束:
http://blog.csdn.net/cnjsnt_s/article/details/5548280
标点用错了,字段名表名不是双引号'',是反折号``。CREATE TABLE `tbl_emp`(
`id`INT(11)NOT NULL AUTO_INCREMENT,
`name` VARCHAR(20) DEFAULT NULL,
`deptid`INT(11) DEFAULT NULL,
PRIMARY KEY(`id`),
KEY `dept_id`(`deptid`)
#CONSTRAINT `fk_dept_id` FOREIGN KEY (`deptid`) REFERENCES `dept`(`id`)
)ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)