我对在MySQL中创建表感到非常困惑,因为我阅读了一些PHP教程,作者在他们的数据库中创建了两个表,然后使用joins在PHP中将它们链接起来。
这是我从一篇文章中得到的一个例子。
在这里,作者创建了表users和groups。
CREATE TABLE users (
id int(8) NOT NULL auto_increment,
name varchar(255) NOT NULL default '',
pass varchar(255) NOT NULL default '',
PRI
我在创建数据库时遇到了问题,它导致了以下错误。
mysql> show grants for 'admin'@'%';
+---------------------------------------------------------------------------------------------------------------------------------+
| Grants for admin@%
我要保存单个用户和用户组的权限。在我的mysql数据库中,我有一个权限表,其中存储了权限名称和权限id。我有一个用户表,我在其中存储用户名、密码等,它还包含一个id,我还有一个groups表,它存储组名称和组id。
现在最有效的选择是什么?要创建两个表,一个包含用户权限,另一个包含组权限,如下所示:
int group id | int permission id
int user id | int permission id
或者像这样有一张桌子会更好;
int id | int permission id | enum('user','group')
备注:
来自SELECT version()的返回值为10.5.12-MariaDB-log
默认排序规则: utf8mb4_unicode-ci
默认字符集: utf8mb4
UbuntuLinux8.0.29使用MySQL工作台运行的查询
我的目标是删除表中重复的项。我没有任何其他表可用作检查副本的引用。我创建了一个返回预期结果的简单查询和子查询:
SELECT * FROM messages WHERE id NOT IN
(SELECT id FROM
messages
WHERE
我创建了一个包含message, sender, to, time的表,我希望按发件人分组和按时间排序这是我的代码
$query= mysql_query("SELECT * FROM `table` ORDER BY `time` GROUP BY `sender`")or die(mysql_error());
while($arr = mysql_fetch_array($query)){
$num = mysql_num_rows($query);
$msg = $arr ['message'];
echo '</br>';
我有一些记录的mysql表,例如:
CREATE TABLE test (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
value varchar NOT NULL
)
现在,我需要的是在php脚本中生成唯一的1,2,.N序列,并存储到另一个表中.如何实现这一点,使线程安全,而不是创建双倍或跳过某事?
我想知道一些额外的mysql表是否有帮助,但是我不知道如何创建类似于“每个列值的单独的自动增量”之类的东西,或者其他任何东西.
test:
1 ... apples
2 ... oranges
3 ... lemons
一些php脚本(当时被
我的查询如下:
$result_portlist=mysql_query("
SELECT
portfolio AS the_port,
SUM(balance * course) AS the_balance,
SUM(insurance * course) AS the_insurance
FROM banks_all
WHERE CONCAT(balance, insurance)!='0'
GROUP BY portfolio
",$db);
$myro
现在我有我的网站的40+表,我不认为我使用MySQL是完全正确的。我正在制作一个类似Moodle的网站。它基本上只为按课程分组的学生举办考试。
猎户座表
courses - Lists all courses (ID, Name)
c_$id - Lists all the Tests (ID, Name, etc) for course number $id
a_$id - Lists all questions for the test number $id (Question, A, B, C, D)
g_$id - Lists all grades for the cour
我在mysql中执行的查询是
select * into outfile "/tmp/results.out" from table_x;
它依次将该表中的所有记录写入/tmp目录中的文件。该文件是使用以下权限创建的。
-rw-rw-rw- 1 mysql mysql 6.6K Nov 14 10:14 /tmp/results.out
我知道无法从我的登录中删除此文件。但我尝试从MySQL中删除它,但得到以下错误消息:
mysql> system rm /tmp/results.out
rm: cannot remove `/tmp/results.out':
如果我在中有一个表Mysql,它在字段上有一个多列索引(phone_number,name)
在查询这个表时,如果我只是group by on phone_number,会使用这个索引吗?
如果我执行任何只涉及phone_number的操作,会使用索引吗?
如果我想要group by phone_number,那么会使用这个索引吗?
MySql db中的大多数表不是。我一直在阅读,并试图确定重新设计此表的最佳方法。我知道我们会喜欢在spring表单中使用更简单的引用和更好的数据完整性的好处。
具有可选属性,这些属性可能伴随费用。在代码中,现在有55个选项,而且这个数字还在不断增长。每个费用的平均属性数为2.719,单个费用使用的最多属性为39个属性。
在这种情况下,创建一个带有55+选项的表是理想的,还是下一个必须保持表大小的人?