mysql - 如何向已有主键的表添加更多数据?

标签 mysql database alter-table

我是 Mysql 新手,所以放轻松。原谅缺乏这方面的知识。 但我到处搜索过,但我找不到这个简单的答案,这很愚蠢。尝试制作一个有趣的应用程序来推广页面、赚取积分、为 fbook 制作 PPC 类型的广告等等...

我目前有一个包含用户数据的 {table1}。 用户识别号, 名字, 我的名字, 添加日期

表2用于提交用户链接以便广告返回到页面上, 它只有 主要来自 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://

我错过了什么。甚至很难用语言表达这个问题,这就是为什么我将其放在这里作为搜索结果!帮助!

最佳答案

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

  • 组合 key UID 和 USER_LINK(ORACLE 思维)
  • 根本没有 key (它可以工作;但是你可以有重复的 key )
  • 通用 AutoNum 键,为每条记录加 1(MSFT 思维)

当您说某个东西是主键时,您的意思是该值永远不会为空,并且它在表中始终是唯一的。你必须小心这一点;您认为独特的东西实际上并非如此。

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

关于mysql - 如何向已有主键的表添加更多数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12469151/

相关文章:

用于不将订单输入 MySql DB 的订单的 PHP 脚本(使用 XAMPP)

php - 每次部署后 Amazon EC2 Linux PHP 速度都会变慢

PHP 脚本错误

node.js - Mongodb 使用 addtoSet 确保没有重复项

database - 用于具有多种测量类型的时间序列的 Cassandra

mysql - 使用alter table添加分区失败

mysql - mysql在添加具有默认值的新列时是否锁定表以进行写入

mysql - 向现有表的所有列添加注释

mysql - 在 MySQL 中使用子查询进行多次插入

database - 即使关闭后也无法恢复数据库备份 ("database might be in use")