mysql我想添加一个字段,然后将这个字段和原表中的字段一起作为联合主键,应该怎么写SQL语句,正确再发答案

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql我想添加一个字段,然后将这个字段和原表中的字段一起作为联合主键,应该怎么写SQL语句,正确再发答案相关的知识,希望对你有一定的参考价值。

添加字段的语句应该类似ALTER TABLE tbl ADD COLUMNS (字段名 数据类型...);
如果没有主键,那就可以ALTER TABLE tbl ADD PRIMARY KEY(....);
至于有的话,我也不太清楚了。

我本机没有数据库,上面的是凭印象写出来的,不对勿怪……
参考技术A ALTER TABLE 表名 ADD 字段名 类型( 长度 ) NOT NULL

ALTER TABLE 表名 DROP PRIMARY KEY ,
ADD PRIMARY KEY ( 字段名1 , 字段名2 )追问

这样如果原来表里的主键没有作为其它表的外键是可以,但是如果要DROP的主键又作为其它表的外键好像就不行了吧!

本回答被提问者采纳

这个SQL语句怎么写:将一个字段里的值复制添加到另一个字段中

比如,有二个字段A和B,A字段是值是"我",B字段值是"们",怎样用update语句将B字段的值复制到A中,并且和A组合要放到原有内容的后面.更新后A字段应该是"我们", B字段不变.
那用insert追加 该怎么写呢

两条sql就可以了
思路:1,现在defaultpic中写添加的sql
2,然后在另一个表中删除该字段就可以了
参考技术A update 表名 set a=a+(select b from 表名 where b='们' group by b) where a='我'


update 表名 set a=a+b where a='我' and b='们'

如果还想insert那么,你的意思不太明确。就正常就可以了。
你是想新插入的字段也自动按这个规则变化的话,就做个触发器就好了。
参考技术B --如果是在两表之间实现,则是如下代码
update 表1 set 表1.字段A=表1.字段A+(select 表2.字段B from 表2 where 表1.Id=表2.Id)
参考技术C UPDATE tableA SET tableA.A= tableB.B WHERE tableA.id=tableB.id
试试吧。
参考技术D update 表 set A=A+B本回答被提问者采纳

以上是关于mysql我想添加一个字段,然后将这个字段和原表中的字段一起作为联合主键,应该怎么写SQL语句,正确再发答案的主要内容,如果未能解决你的问题,请参考以下文章

插入排序

如何将oracle表中的字段由integer 转变为varchar2(50)

在sql数据库中,一个表中某一个字段有很多用,隔开的数据,请问用sql语句如何分别读取这个表中的每一个数据

mysql默认值问题(高分!!!)

oracle添加序号

这个SQL语句怎么写:将一个字段里的值复制添加到另一个字段中