mysql - 如何在现有表中添加外键约束

标签 mysql

<分区>

我有 2 个表,第一个是 smsusers(id,fname,lname,userid) 'id' 是主键, userid 是唯一键

address_detail(id,address,type);

这里我想将 smsusersuserid 作为外键添加到 address_detail 表。

为此,我在 address_detail 中添加了一列作为 user_id

ALTER TABLE address_detail add user_id INT( 20 )  default NULL;

现在我正在为表添加外键约束

ALTER TABLE `address_detail` add CONSTRAINT address_detail_fk FOREIGN KEY (user_id) 
REFERENCES smsusers ('userid') ON UPDATE CASCADE ON DELETE CASCADE;

这一步出现以下错误

#1064 - You have an error in your SQL syntax; 
check the manual that corresponds to your MySQL server
version for the right syntax to use near ''userid') ON 
UPDATE CASCADE ON DELETE CASCADE' at line 1

最佳答案

我会在查询中删除 userid 上的 '

ALTER TABLE `address_detail` add CONSTRAINT address_detail_fk FOREIGN KEY (user_id) 
REFERENCES smsusers (userid) ON UPDATE CASCADE ON DELETE CASCADE;

关于mysql - 如何在现有表中添加外键约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16810801/

相关文章:

php - 如何使用 laravel5 从数据 mysql 中提取 json 数据作为对象?

两个unix时间戳之间的MYSQL查询

php - 如何在 mysql 中通过所需的列名设置 sql 结果索引值?

MySQL 总和更新

c# - 如何使用 C# 中的 select 调用 MySQL 存储过程

mysql - 如何在mysql中根据特定条件查找特定月份?

python - ActivePython 和 MySQLdb

java - 无法从 Mysql 列出我的 Android 应用程序中的数据

python - MySQL 'replace into select from' 替代方案

mysql - 如何使用mysql在给定日期中按另一列查找列组