我有一个用户和一个朋友表.具有用户详细信息的用户和朋友拥有用户的朋友.这是用户表的架构..
create table smsusers(
id varchar(60),
password varchar(50) not null,
fname varchar(30) not null,
lname varchar(30),
mailid varchar(50) not null,
gender varchar(10) not null,
primary key(id)
);
Run Code Online (Sandbox Code Playgroud)
和朋友表..
create table friends_list(
friend_of varchar(60) NOT NULL,
friends_id varchar(60) NOT NULL,
friendship_status varchar(30),
friendship_date timestamp NOT NULL,
primary key(friend_of,friends_id),
foreign key(friend_of) references smsusers(id)
ON DELETE CASCADE ON UPDATE CASCADE);
Run Code Online (Sandbox Code Playgroud)
用户照片
create table profile_pic(pic_id varchar(200),profile_pic_path varchar(1000),small_pic_path varchar(1000),
adddate varchar(100),userid varchar(60),foreign key(userid) references smsusers(id) ON DELETE CASCADE ON UPDATE CASCADE,
primary key(pic_id));
Run Code Online (Sandbox Code Playgroud)
在这里,我想和朋友一起取朋友的随机5朋友
我试过这个查询 …
我有2个表首先是smsusers(id,fname,lname,userid)
'id'是主键,
userid是唯一键
address_detail(id,address,type);
Run Code Online (Sandbox Code Playgroud)
在这里我要补充userid的smsusers是外键address_detail表.
因为我添加了一列address_detail作为user_id
ALTER TABLE address_detail add user_id INT( 20 ) default NULL;
Run Code Online (Sandbox Code Playgroud)
现在我正在向表中添加外键约束
ALTER TABLE `address_detail` add CONSTRAINT address_detail_fk FOREIGN KEY (user_id)
REFERENCES smsusers ('userid') ON UPDATE CASCADE ON DELETE CASCADE;
Run Code Online (Sandbox Code Playgroud)
此步骤显示以下错误
#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 …Run Code Online (Sandbox Code Playgroud) 我想更改表的主键,最初是id,现在我想将其更改为userid
smsusers(id,fname,lname,userid)
Run Code Online (Sandbox Code Playgroud)
这里 id 是 varchar 类型 adn userid 是 int 类型
为此,我正在尝试以下查询
ALTER TABLE smsusers DROP PRIMARY KEY
Run Code Online (Sandbox Code Playgroud)
这是显示这个错误
#1025 - Error on rename of '.\xrcwrn_sms\#sql-ae0_6f' to
'.\xrcwrn_sms\smsusers' (errno: 150)
Run Code Online (Sandbox Code Playgroud)
idofsmsusers作为外键与许多表相关联。
如何更改主键。
mysql ×3