相关疑难解决方法(0)

MySQL:如果表中不存在则插入记录

我正在尝试执行以下查询:

INSERT INTO table_listnames (name, address, tele)
VALUES ('Rupert', 'Somewhere', '022')
WHERE NOT EXISTS (
    SELECT name FROM table_listnames WHERE name='value'
);
Run Code Online (Sandbox Code Playgroud)

但这会返回错误.基本上我不想插入记录,如果记录的'name'字段已存在于另一条记录中 - 如何检查新名称是否唯一?

mysql

356
推荐指数
11
解决办法
64万
查看次数

如果不存在MySql表插入,否则更新

UPDATE AggregatedData SET datenum="734152.979166667", 
Timestamp="2010-01-14 23:30:00.000" WHERE datenum="734152.979166667";
Run Code Online (Sandbox Code Playgroud)

如果datenum存在,它可以工作,但如果不存在,我想将此数据作为新行插入datenum.

UPDATE

datenum是唯一的,但这不是主键

mysql insert

96
推荐指数
2
解决办法
14万
查看次数

MySQL中的多列主键5

我正在尝试学习如何使用密钥并打破必须SERIAL为所有表中的所有行设置类型ID 的习惯.与此同时,我也在做多对多的关系,因此要求协调关系的表中任一列的唯一值会妨碍这一点.

如何在表上定义主键,以便任何给定值都可以在任何列中重复,只要所有列的值组合永远不会重复?

mysql key primary-key

21
推荐指数
2
解决办法
6万
查看次数

MySQL数据库中指定的两个主键

我正在尝试创建一个测试数据库,它是预先存在的数据库的副本.我正在使用Django模型(理论上与原始数据库一起使用的模型)来执行此操作.我最近继承了其他人的代码,并试图弄清楚代码到底发生了什么.

在模型中,表中的一个表有两列标识为主键.

        column1 = models.IntegerField(primary_key = True)
        column2 = models.IntegerField(primary_key = True)
        column3 = models.CharField(max_length = 30)
Run Code Online (Sandbox Code Playgroud)

当我尝试将此模型同步到测试数据库时 - 发生错误:

文件"/somePathHere/MySQLdb/connections.py",第36行,在defaulterrorhandler中引发错误类,errorvalue _mysql_exceptions.OperationalError:(1068,'多个主键定义')

它是在django文档中写的,Django不允许多个主键.但是,看看DESCRIBE [tablename]原始MySQL数据库中的输出,看起来这正是这里发生的事情:

        +------------+------------+------+-----+---------+-------+
        | Field      | Type       | Null | Key | Default | Extra |
        +------------+------------+------+-----+---------+-------+
        | IDENTIFIER | bigint(20) | NO   | PRI | NULL    |       |
        | TIMESTAMP_ | bigint(20) | NO   | PRI | NULL    |       |
        | VALUE_     | longtext   | YES  |     | NULL    |       |
        +------------+------------+------+-----+---------+-------+
Run Code Online (Sandbox Code Playgroud)

请注意,IDENTIFIER和TIMESTAMP_都列为主键. …

mysql django primary-key models

6
推荐指数
1
解决办法
7093
查看次数

如何在Rails应用程序中设置组合键

我在我的应用程序中使用'foriegner'gem来设置主键,现在我处于在表中设置复合主键的情况.

我在网上搜索了这个,但无法为此找到明确的解决方案.

如果可以使用foreigner gem或任何其他方法在rails应用程序中设置复合键,请建议我.

注意:我正在使用Postgres

谢谢.

ruby-on-rails

6
推荐指数
1
解决办法
6030
查看次数

如何在MySQL数据库中创建复合键

我正在使用mysql server.where我创建了一个名为question的表.这个表的列/属性是(课程,主题,年份,问题)我想创建一个主键(或复合键)由(课程+主题+年)组成.即对于特定的课程+主题+年组合,只能有一个问题.只有一行与(课程+主题+年)的组合,创建另一行是不可能的.我做到了:

primary key(course,subject,year);
Run Code Online (Sandbox Code Playgroud)

但它不工作.我可以创建两行,当然,主题,年份相同的组合.

任何人都可以告诉我,我怎么能创建一个复合键propery ????

mysql composite-key composite-primary-key

4
推荐指数
1
解决办法
2万
查看次数

在 MySQL 中使用下划线 _ 作为主键

我想要一个 1_5_4 形式的主键,其中

1 是用户 ID

5 是组件 ID

4 是回合 ID

谁能告诉我这对于 MySQL p 键设计来说是好还是坏的做法以及它将如何影响索引等。我知道你应该保持 p 键简短,但我愿意为了数据库设计的简单性而牺牲这一点。

谢谢,

mysql primary-key

0
推荐指数
1
解决办法
709
查看次数