我正在尝试使用ON DELETE CASCADE作为我正在处理的数据库。似乎不起作用,所以我在一个简单的例子中进行了测试,但没有成功。
CREATE TABLE foo (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
data VARCHAR(10),
PRIMARY KEY (id)
)ENGINE=InnoDB;
CREATE TABLE foo2 (
id INT UNSIGNED NOT NULL,
data2 VARCHAR(10),
PRIMARY KEY (id),
CONSTRAINT fk_foo2_id FOREIGN KEY (id
CREATE TABLE hoofdtoonder
(
id INT NOT NULL,
idondersoorten INT FOREIGN KEY REFERENCES `ondersoort`(`id`) NOT NULL,
)
//生成表,但错误与mysql数据库上的引用有关,请帮助
上面写着FOREIGN KEY REFERENCES ondersoort(id) NOT NULL出错了。但我不知道语法有什么问题。
以下CREATE语句(故意简化)在当前的Mysql 5.1 /INNODB上运行良好:
CREATE TABLE Employee (
id INT NOT NULL PRIMARY KEY
,boss INT REFERENCES Employee
)
现在,我尝试分别创建外键(在执行拖放表Employee之后):
CREATE TABLE Employee (
id INT NOT NULL PRIMARY KEY
, boss INT
,CONSTRAINT _FK_boss FOREIGN KEY(boss) REFERENCES Empl
MySQL表的教科书示例出现了问题。的诀窍是,它在Windows上工作,但是由于一些奇怪的原因,它不能在Linux上工作。我试着配置默认引擎,当然是InnoDB,bot,因为一些奇怪的原因,它仍然不能工作。
CREATE TABLE radnik(
Mbr integer NOT NULL,
Ime varchar(20) NOT NULL,
Prz varchar(25) NOT NULL,
Sef integer,
Plt decimal(10, 2),
Pre decimal(6, 2),
God date NOT N
假设我们有两个表,prac和prac2。
prac的CREATE TABLE语句
CREATE TABLE prac (
id int PRIMARY KEY,
name varchar(44),
area varchar(44)
);
我将在prac2中有一个名为sid的列,它将是一个外键,它将引用的列是prac中的id。
在这种情况下添加外键的一般方法如下所示:
CREATE TABLE prac2 (
adm_id int PRIMARY KEY,
sid int,
fee_status varchar(20),
FOREIGN K
当我尝试设计db结构时,我发现innodb相当烦人,至少与MyIsam相比,后者似乎没有那么多限制。
比如说,如果我想创建一个简单的库系统。我有四张桌子。
表book_item,它记录了book_name、作者、出版时间以及有关书籍的基本信息。
表book,它表示图书项的一个特定的真实对象。因此,book_item对象可以与许多图书对象相关联。
表tag,表示图书标签。比如科学,文学,建筑等等。
表tag_book_item_relation,它将标记与book_items联系起来。
因此,两国关系如下。
1、我们有一个图书项目 to book is 一对多关系。
2、many-to-many
我正在使用Mysql命令行创建几个简单的表。在创建“外国钥匙”时,我得到了错误号150的库存。你能帮我拿一下这个吗。我对SQL有点陌生。谢谢!
mysql> CREATE TABLE maintenancepersons (ServiceID INT NOT NULL AUTO_INCREMENT,
MechanicID INT NOT NULL,
ServiceName VARCHAR(100) NOT NULL,
PRIMARY KEY ( ServiceID ), CarVIN INT NOT NULL,
FOREIGN KEY ( CarVIN ) REFERENCES
类似于,但有些地方不对劲:
ANSI方法
-- test delete cascade
CREATE TABLE t1(
id SERIAL PRIMARY KEY,
data TEXT
);
CREATE TABLE t2(
id INT PRIMARY KEY REFERENCES t1(id) ON DELETE CASCADE,
data2 TEXT
);
INSERT INTO t1 VALUES(1, 'one');
INSERT INTO t2 VALUES(1, 'first');
DELETE FROM t
我在这里发布了一个问题,根据响应,我试图创建以下MySQL表,但它不起作用,但是,如果我删除两个外来命令,它就会起作用
$query="CREATE TABLE IF NOT EXISTS picture(
ID INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY(ID)
)ENGINE=InnoDB";
mysql_query($query,$con);
$query="CREATE TABLE IF NOT EXISTS user(
ID INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY(ID)
)EN