【问题标题】:how would look a sql insert for this database tables? [closed]这个数据库表的 sql 插入看起来如何? [关闭]
【发布时间】:2012-01-03 20:21:22
【问题描述】:

我将如何看待这个数据库表的 sql 插入?

语言

languageID | language
         1 | german
         2 | english

单词

        id | language | text
         1 | 2        | lucky
         2 | 2        | happy
         3 | 1        | glücklich

翻译

  word1_id | word2_id
         1 | 3
         2 | 3

请帮助人们。我不知道。 请帮忙。

【问题讨论】:

  • 你能告诉我们更多关于表格的信息吗?那些 ID 列会自动递增吗?
  • 堆栈溢出不是一个乞求人们为你工作的网站。如果你不能对你正在使用的东西表现出基本的理解,那么你就错了。拿起一本 SQL 初学者的书,从那里开始。
  • @Pero 您需要重新表述您的问题。我根本不明白你需要什么。您要创建表并插入值吗?
  • 我猜你需要学习一点数据库查询来创建表和插入语句。您没有提到您正在使用哪个数据库。所有数据库系统都有良好的文档。请参考创建和插入

标签: sql


【解决方案1】:

如果没有外键/触发器或类似的东西(请提供更多信息),插入将如下所示:

insert into language (languageID, language) values (1, 'german')
insert into language (languageID, language) values (2, 'english')

insert into word (id, language, text) values (1, 2, 'lucky')
insert into word (id, language, text) values (2, 2, 'happy')
insert into word (id, language, text) values (3, 1, 'glücklich')

insert into translation (word1_id, word2_id) values (1, 3)
insert into translation (word1_id, word2_id) values (2, 3)

【讨论】:

  • 对不起,我没有告诉整个背景。我的 html 文件中有两个输入字段。德语单词的一个输入字段和英语翻译的另一个输入字段。我使用 mysql DB phpmyadmin 并且 id 是自动递增的。所以我想将添加的词汇保存在我的数据库中,但我不知道如何保存这两个单词。问题是我需要它快我没有时间看书和学习 sql 查询。我会做的,但我需要快速这就是问题所在。
【解决方案2】:

只做一个基本的INSERT INTO table (col1,col2) VALUES (value1,value2)

现在,如果您想通过一次插入每个单词的多个翻译来使这个更复杂,您需要自己构建一个存储过程。

id 说最简单的方法是让它接受语言、文本和翻译的参数。

Translations 将是 VARCHAR(MAX) 数据类型,并且您可以将每个翻译用 | 等字符分隔,然后在每个 | 处拆分此参数。到一个临时表中。

插入你的第一个未翻译的词,使用scope_identity取回你插入它的ID,然后用它一个一个地插入翻译。

所以你需要看看像这样的东西http://www.codeproject.com/KB/database/SQLArrayParameterHandling.aspx

SQL 中的 Scope_Identity 方法 http://msdn.microsoft.com/en-us/library/ms190315.aspx

并制作了一个sql拆分函数 http://blogs.microsoft.co.il/blogs/itai/archive/2009/02/01/t-sql-split-function.aspx

【讨论】:

    【解决方案3】:

    至少,为了让你明白,我举一个例子来添加一个数据集:

    INSERT INTO language(languageID, language) VALUES (1, 'german');
    

    注意字符串值应该用单引号给出。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-12
      • 1970-01-01
      • 2012-03-25
      • 1970-01-01
      • 2011-03-30
      • 1970-01-01
      • 2013-07-02
      • 1970-01-01
      相关资源
      最近更新 更多