如何将更多数据添加到已有主键的表中?

时间:2012-09-18 01:18:13

标签: mysql database alter-table

我是Mysql的新手,所以请轻松一点。原谅这方面缺乏知识。 但我到处搜索,这是愚蠢的,我不能找到这个简单的答案。试图创建一个有趣的应用程序来推广页面,获得积分,PPC类型的广告为fbook等等等等...

我目前有一个{table1}包含用户数据。 UID, FNAME, L-NAME, 添加日期

并且table2用于提交要在页面上返回的广告的用户链接, 它只有 来自UID的初级 和1 col现在能够添加链接。 使用主键我想要用户名或uid,但必须能够向现有主键添加更多内容,以便我可以调用用户和所有链接。我可以这样添加,但当然必须删除自己添加更多的表...

$query = "INSERT INTO {$table} VALUES ('{$userid}', '{$user_link}')";
mysql_query($query) or die('Error updating database');

然后,说他们稍后再添加一个

if new submission check existing then 
add new column to existing uid... link#2=http://

我错过了什么。甚至很难说出这个问题,这就是为什么我把它放在这里搜索结果!帮助!

2 个答案:

答案 0 :(得分:2)

您的表在UID上没有数据库主键。根据定义,UID作为主键必须是唯一的。所以要么你需要。

  • 组合密钥UID& USER_LINK(ORACLE思考)
  • 根本没有钥匙(它有效;但是你可以有重复)
  • 一个通用的AutoNum密钥,为每条记录添加1(MSFT思考)

当你说某些东西是主键时,你的意思是该值永远不会为空,它总是在表中是独一无二的。你必须小心这一点;你认为有些独特的东西,事实上并非如此。

在这种情况下,UNIQUE键是用用户链接定义的,同一个用户不需要有相同的链接(对吗?),这样你就可以在两者之间建立一个组合键。

答案 1 :(得分:1)

删除table2上的PRIMARY KEY,根据定义,它是唯一的。使用常规索引作为FOREIGN KEY返回表格。