是否可以在没有主键的情况下创建更新 mysql 表中行的过程?
我有一个这样的表,对应于教师的日程安排:
TEACHER_ID | WEEK_DAY | HOUR | CLASS
1234567 2 11:30 MAT001
1234567 2 13:00 HIS001
我想加载一个包含他们的时间表的 .csv 文件,该过程会发现其中的行是否已存在于表中,更新它们,或者在不存在的情况下插入它们。
我的表没有主表,因为我们获取 .csv 文件的系统没有创建主表。
我想的是在使用“WHERE”更新/插入表时将字段“TEACHER _ID”、“WEEK_DAY”和“HOUR”组合为键,但我不知道该怎么做.
能达到我想要的吗?你能帮帮我吗?
预先感谢您的回答!
(我提前为我的语法错误道歉)
最佳答案
您可以在 TEACHER_ID,WEEK_DAY,HOUR
http://dev.mysql.com/doc/refman/5.0/en/create-index.html
UNIQUE KEY
CREATE UNIQUE KEY classes ON your_table_name (TEACHER_ID,WEEK_DAY,HOUR)`
然后你可以使用INSERT ... ON DUPLICATE KEY UPDATE
http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html
INSERT INTO your_table_name (TEACHER_ID,WEEK_DAY,HOUR,CLASS) VALUES (1234567,2,11:30,MAT001)
ON DUPLICATE KEY UPDATE CLASS=MAT001;
关于php - Mysql/php - 是否可以使用循环但没有 key 更新表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17606248/