我目前正在练习PHP和MySQL只是为了增强我的技能,因为我是编程的新手,我正在尝试不同的东西:)
我已经创建了一个基本网站,用户可以在其中输入单词,数据库将保存它,只是为了好玩。但是我不想重复存储相同的单词,而是希望SQL能够让我看到苹果已经存储了3次,而不是我的专栏中的[apple,apple,apple]。
我怎样才能让SQL执行此操作?我只在网上看过count()函数,所以我有点困惑。
答案 0 :(得分:8)
你可以:
只需在插入后选择每个单词的计数:
SELECT COUNT(*) FROM my_table WHERE word = 'apple'
维持表中的计数:
在您的字词列中添加count
列以及UNIQUE
索引:
ALTER TABLE my_table
ADD count INT UNSIGNED DEFAULT 1,
ADD UNIQUE INDEX (word)
不使用INSERT
,而是使用INSERT ... ON DUPLICATE KEY UPDATE
:
INSERT INTO my_table
(word)
VALUES
('apple')
ON DUPLICATE KEY UPDATE
count = count + 1
从表中获取计数:
SELECT count FROM my_table WHERE word = 'apple'