【发布时间】:2011-09-01 18:03:52
【问题描述】:
我试图创建一个新的表关系,但我似乎遇到了一个错误,我不知道为什么。我上周建立的第一个关系(一对多),效果很好,也许我从那以后忘记了正确的程序?
简单解释: 我有三张桌子 - events、music_styles、venues
到目前为止,我正确地链接了活动和场地,一个场地可以链接多个活动。我尝试创建一个新表,其中包含每种音乐风格的行和一个将在表“事件”中使用的 ID,以便我可以将每个事件链接到音乐风格 ID。
但这是我得到的错误:
SQL 查询:
ALTER TABLE
events添加外键 (MUSIC_STYLE_ID) 参考nightl7_complete.music_styles(MUSIC_ID) 删除无操作 更新无操作;MySQL 说:文档
1452 - 无法添加或更新子行:外键约束
失败 (
nightl7_complete/#sql-2721_c0dcfd, 约束#sql-2721_c0dcfd_ibfk_2外键 (MUSIC_STYLE_ID) 参考music_styles(MUSIC_ID) ON DELETE NO ACTION ON UPDATE NO ACTION) 文档错误 ALTER TABLEeventsADD FOREIGN KEY (MUSIC_STYLE_ID) 参考资料nightl7_complete.music_styles(MUSIC_ID) 删除时不执行更新时不执行操作;
这是我做的程序:)
I uploaded a full sized image here
谢谢大家:)
编辑:
所以我这样做了:
$query = 'SELECT e.* FROM events e '.
'LEFT JOIN nightl7_complete.music_styles ms ON ms.ID = e.MUSIC_STYLE_ID'.
'WHERE ms.id IS NULL';
$result = mysql_query($query);
if (!$result) {
die('Invalid query: ' . mysql_error());
}
得到了这个:
无效查询:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的“ms.id IS NULL”附近使用正确的语法
【问题讨论】:
标签: mysql