我目前正在练习 PHP 和 MySQL,只是为了加强我的技能,因为我是编程新手,我正在尝试不同的东西 :)
我做了一个基本的网站,用户可以在其中输入一个单词,数据库会保存它,只是为了好玩。但不是重复存储同一个词,我希望 SQL 能够让我看到苹果已经存储了 3 次,而不是 [apple,apple,apple] 在我的列中。
我怎样才能让 SQL 做到这一点?我只在网上看到过 count() 函数,所以我有点困惑。
您可以:
只需选择插入后每个单词的计数:
SELECT COUNT(*) FROM my_table WHERE word = 'apple'
维护表中的计数:
添加一count
列,以及UNIQUE
您的 word 列上的索引:
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'