可以上传MySQL数据库表,但无法添加值

时间:2015-09-11 23:43:51

标签: mysql phpmyadmin

我可以在phpMyAdmin中创建一个数据库。当我只添加表时,会创建一个数据库。现在,我正在尝试将值添加到Purchase表中。我不断收到Duplicate entry '1' for key 'PRIMARY'或语法错误的错误。

以下是我迄今为止所做的尝试:

  1. 删除P_ORDERNO上的PRIMARY KEYauto increment,然后尝试添加值
  2. 只添加一行一个值
  3. 仅添加一行主键和另一个值
  4. 我通过添加和减去值/数据定义进行的测试未显示任何可能的错误。这是原始表格,其中包含我尝试输入的原始值:

    CREATE TABLE IF NOT EXISTS `Purchase` (
      `P_ORDERNO` int(5) NOT NULL auto_increment PRIMARY KEY,
      `P_ORDER_DATE` timestamp NULL,
      `P_ORDER_AMT` int NOT NULL,
      `SUPPLY_CODE` int(5) NOT NULL,
      `SUPPLY_DESC` varchar(50) NULL,
      `SUPPLY QTY` int(5) NOT NULL
    );
    
    INSERT INTO `Purchase` (`P_ORDERNO`, `P_ORDER_DATE`, `P_ORDER_AMT`, `SUPPLY_CODE`, `SUPPLY_DESC`, `SUPPLY_QTY`) VALUES
    (1, 2015-08-01 08:15:00, 30, 999, 'Hard drive', 300),
    (2, 2015-08-02 08:15:00, 45, 999, 'Mouse', 310),
    (3, 2015-08-03 08:15:00, 99, 784, 'Keyboard', 543);
    

    对于我的语法中的错误或尝试将值添加到数据库表中的错误,我将不胜感激。

1 个答案:

答案 0 :(得分:0)

日期时间字面值必须使用这样的引号:SUPPLY QTY并且表格中的列名称错误:(SUPPLY_QTY而不是CREATE TABLE IF NOT EXISTS `Purchase` ( `P_ORDERNO` int(5) NOT NULL auto_increment PRIMARY KEY, `P_ORDER_DATE` timestamp NULL, `P_ORDER_AMT` int NOT NULL, `SUPPLY_CODE` int(5) NOT NULL, `SUPPLY_DESC` varchar(50) NULL, `SUPPLY_QTY` int(5) NOT NULL ); INSERT INTO `Purchase` (`P_ORDERNO`, `P_ORDER_DATE`, `P_ORDER_AMT`, `SUPPLY_CODE`, `SUPPLY_DESC`, `SUPPLY_QTY`) VALUES (1, '2015-08-01 08:15:00', 30, 999, 'Hard drive', 300), (2, '2015-08-02 08:15:00', 45, 999, 'Mouse', 310), (3, '2015-08-03 08:15:00', 99, 784, 'Keyboard', 543); )。

这有效:

<!-- Load the Content Experiment JavaScript API client for the experiment -->
<script src="//www.google-analytics.com/cx/api.js?experiment=YOUR_EXPERIMENT_ID"></script>

<script>
  // Ask Google Analytics which variation to show the user.
  var chosenVariation = cxApi.chooseVariation();
</script>

<!-- Load the JQuery library -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>

<script>
// Define JavaScript for each page variation of this experiment.
var pageVariations = [
  function() {},  // Original: Do nothing. This will render the default HTML.
  function() {    // Variation 1: Banner Image
    document.getElementById('banner').src = 'bay-bridge.jpg';
  },
  function() {    // Variation 2: Sub-heading Text
    document.getElementById('heading').innerHTML = 'Look, a Bridge!';
  },
  function() {    // Variation 3: Button Text
    document.getElementById('button').innerHTML = 'Learn more';
  },
  function() {    // Variation 4: Button Color
    document.getElementById('button').className = 'button button-blue';
  }
];

// Wait for the DOM to load, then execute the view for the chosen variation.
$(document).ready(
  // Execute the chosen view
  pageVariations[chosenVariation]
);
</script>

Sample SQl Fiddle

在给定样本表def和数据的情况下,唯一可以获得重复错误的列是主键,并且由于示例数据没有任何重复项,可能还有其他内容,或者您​​没有显示实际导致问题的数据,在这种情况下,很难说出可能是什么问题。