【发布时间】:2014-09-23 16:32:06
【问题描述】:
我将 Outlook 联系人文件导入我的数据库,然后将其显示到 html 表中。表已创建,一切正常,但当我再次尝试上传时,所有名称和信息都翻了一番。所以我想做的是如果名字和姓氏已经存在只是为了更新该行和该行中的所有单元格,而不是一遍又一遍地插入该行。
"CREATE TABLE contacts(PID INT NOT NULL AUTO_INCREMENT,PRIMARY KEY(PID),first_name CHAR(80),middle_name CHAR(80),last_name CHAR(80)"
我尝试过重复密钥更新/替换,但没有成功。
"INSERT INTO contacts (first_name,middle_name,last_name)
VALUES ('$first_name','$middle_name','$last_name')"
我猜我的问题出在 auto_increment 和主键上,但我真的不明白它们是如何工作的以及如何做到这一点。
【问题讨论】:
-
所以。使(名字,姓氏)成为键
-
就这样吗?主键(名字,姓氏)?
-
它不需要是PRIMARY。独一无二。
-
我相信你的问题在这里得到了回答:[如果存在,我如何更新,否则插入?][1] [1]:stackoverflow.com/questions/1218905/…
-
您在使用此解决方案时会遇到问题 - 我们的通讯录中有不止一个 Richard Jones。